4

我正在尝试使用 httplib 从 django 创建一个 REST 客户端。但它拒绝连接我尝试了以下

import hashlib
import hmac
from django.shortcuts import render_to_response
from django.template import RequestContext

def loginAction(request):
    username=request.POST['email']
    password=request.POST['password']
    import httplib, urllib
    params = urllib.urlencode({'username': username})
    #hash username here to authenticate
    digest=hmac.new("qnscAdgRlkIhAUPY44oiexBKtQbGY0orf7OV1I50", str(request.POST['password']),hashlib.sha1).hexdigest()
    auth=username+":"+digest
    headers = {"Content-type": "application/json","Accept": "text/plain","Authorization":auth}
    conn = httplib.HTTPConnection("10.0.2.2",8000)
    conn.request("POST", "/api/ecp/profile/", params, headers)

但给出以下错误

[Errno 10051] A socket operation was attempted to an unreachable network

可能是什么问题?

4

1 回答 1

3

该错误表明您正在运行此脚本的计算机无法访问目标 IP 地址 (10.0.2.2),因为它没有配置从一个到另一个的网络路由。

这是您的内部网络的问题(10.xxx IP 地址始终是专用网络地址)。如果您在与您尝试访问的机器不同的网络上运行此脚本,则您需要一个公共 IP 地址来代替它。

于 2012-07-30T07:56:25.810 回答