2016-02-01 82 views
2

我現在有什麼(Python的3.4):發送aiohttp POST請求通過代理連接

r = yield from aiohttp.request('post', URL, params=None, data=values, headers=headers) 

中有什麼documentation

conn = aiohttp.ProxyConnector(proxy="http://some.proxy.com") 
r = await aiohttp.get('http://python.org', connector=conn) 

所以,我應該如何發送POST請求通過與aiohttp的代理連接頭?

謝謝。

回答

2
connector = aiohttp.ProxyConnector(proxy="http://some.proxy.com") 
session = aiohttp.ClientSession(connector=connector) 
async with session.post("http://example.com/post", data=b"binary data") as resp: 
    print(resp.status) 

session.close() 
1

您可以使用此:

import aiohttp 

conn = aiohttp.ProxyConnector(proxy="http://some.proxy.com") 

r = await aiohttp.post('http://python.org', connector=conn, data=b"hello", headers={}) 

import aiohttp 

from aiohttp import request 

conn = aiohttp.ProxyConnector(proxy="http://some.proxy.com") 

r = await request('post','http://python.org', connector=conn, data=b"hello", headers={}) 
+0

使用裸'請求()','得到()'和自aiohttp 0.21.0家庭已被棄用。 'ClientSession'是執行客戶端請求的唯一推薦方式。 –

+0

@AndrewSvetlov: DEF得到(URL,** kwargs): warnings.warn( 「使用的ClientSession()得到(),而不是」,DeprecationWarning) 退貨請求(hdrs.METH_GET,網址,** kwargs) 這是aiohttp的0.21.0分支寫的。 我同意他們計劃刪除正常的get,put,post和clientSession是推薦的方式。謝謝 –

+0

只是要清楚 - 我是aiohttp維護者,它是我的變化:) –