从一台服务器到另一台服务器的api调用

2024-03-29 08:49:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个运行在同一docker compose中的web服务器;第一台服务器在8008端口,第二台在8000端口。我正在尝试从一个服务器调用另一个服务器(它们都运行Django)

由于某种原因,在他通过第一个呼叫并尝试向第二个服务器发出第二个呼叫后。他试图在第一条路上找到路

url.py

urlpatterns = [
    ...
    url(r'^badges/issuers/$', views.create_issuer, name='create issuer'),
]

视图.py

def create_issuer(request):
    r = requests.get('http://127.0.0.1:8000/v2/users/romOowjnTkuoBXcb8dn_bQ', headers={"Authorization": "Token " + badgr_token})
    #r = requests.get('http://api.ipstack.com/132.72.238.3?access_key=c3dcdadd83efb69cd9970cb811b2ad3f&format=1')
    return HttpResponse(r.content)

我得到404错误:

Using the URLconf defined in Lassi.urls, Django tried these URL patterns, in this order:
.
.
.
"The current URL, v2/users/romOowjnTkuoBXcb8dn_bQ, didn't match any of these."

来自docker终端的日志:

ins_1           | [06/Nov/2019 12:26:27] "GET /v2/users/romOowjnTkuoBXcb8dn_bQ HTTP/1.1" 404 5443
ins_1           | [06/Nov/2019 12:26:27] "GET /badges/issuers/ HTTP/1.1" 200 5443

第二个服务器日志中没有任何内容。 我不知道为什么,但他尝试从第一台服务器获取路径,而不是对第二台服务器执行常规get请求

我试着和邮递员打电话给第二个服务器,结果成功了


Tags: django端口dockerpy服务器urlgetcreate