2016-11-13 121 views
0

當我的燒瓶應用程序啓動時,它說如何發送HTTP請求到服務器瓶中

Running on http://0.0.0.0:80/ 

如何發送HTTP請求到該服務器?

我試圖

telnet 0.0.0.0 80 

但它說:

Trying 0.0.0.0... 
telnet: connect to address 0.0.0.0: Invalid argument 

我使用的請求模塊:

r = requests.get('http://0.0.0.0:80') 

它說了同樣的結果

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/site-packages/requests/api.py", line 55, in get 
    return request('get', url, **kwargs) 
    File "/usr/lib/python2.7/site-packages/requests/api.py", line 44, in request 
    return session.request(method=method, url=url, **kwargs) 
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 288, in request 
    resp = self.send(prep, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies) 
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 383, in send 
    r = adapter.send(request, **kwargs) 
    File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 206, in send 
    raise ConnectionError(sockerr) 
requests.exceptions.ConnectionError: [Errno 22] Invalid argument 

的netstat的輸出如下:

# netstat -l 
Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address   Foreign Address   State 
tcp  0  0 0.0.0.0:http   0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:domain   0.0.0.0:*    LISTEN 
tcp6  0  0 [::]:domain    [::]:*     LISTEN 
udp  0  0 0.0.0.0:domain   0.0.0.0:* 
udp  0  0 0.0.0.0:bootps   0.0.0.0:* 
udp6  0  0 [::]:domain    [::]:* 
+0

您是否嘗試過提出這樣的請求?r = requests.get('http://0.0.0.0')'? –

+0

@BubbleHacker:試過。相同的結果 –

+0

您是否嘗試過從網絡瀏覽器進行訪問?也許問題出在服務器端。 –

回答

2

0.0.0.0表示 「所有IPv4本地機器上的地址」。這是一個不可路由的元地址。

如果要在本地訪問服務器,即客戶在同一臺​​機器上的服務器,或者使用IP地址127.0.0.1(環回因特網協議)或同等命名的域名(本地主機)

r = requests.get('http://127.0.0.1:80') 
r = requests.get('http://localhost:80') 

如果您正在訪問從遠程計算機服務器(在同一子網),就可以通過服務器的IP地址連接到你的服務器(由你的路由器/網關分配)運行服務

如果您正在訪問否則,您可以通過遠程機器的服務器,通過路由器的IP地址連接到您的服務器。您需要通過適當的端口轉發來設置虛擬服務器。

+0

我正在本地訪問服務器。我嘗試了'r = requests.get('http:// localhost:80')'和'r = requests.get('http://127.0.0.1:80')''。但它給錯誤'requests.exceptions.ConnectionError:[Errno 111]連接被拒絕。 –

0

「0.0.0.0」只是一個特殊的地址,表示服務器正在監聽其接口上的所有IP。

您仍然應該使用您的計算器本地地址:「127.0.0.1」或「localhost」來訪問它。