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 に答える