注意
僅當您在控制臺中測試 HTTPX 或發(fā)出少量請求時,才使用這些函數(shù)。使用 ?Client
?將啟用 HTTP/2 和連接池,以實現(xiàn)更高效、更持久的連接。
httpx.request(method, url, *, params=None, content=None, data=None, files=None, json=None, headers=None, cookies=None, auth=None, proxies=None, timeout=Timeout(timeout=5.0), follow_redirects=False, verify=True, cert=None, trust_env=True)
發(fā)送 HTTP 請求。
參數(shù):
Request
?對象的 HTTP 方法:?GET
?、?OPTIONS
?、?HEAD
?、?POST
?、?PUT
?、?PATCH
?或?DELETE
?。Request
?對象的 URL。True
?(默認 CA 捆綁包)、SSL 證書文件的路徑、?ssl.SSLContext
?或 ?False
?(將禁用驗證)。返回: Response
用法:
>>> import httpx
>>> response = httpx.request('GET', 'https://httpbin.org/get')
>>> response
<Response [200 OK]>
httpx.get(url, *, params=None, headers=None, cookies=None, auth=None, proxies=None, follow_redirects=False, cert=None, verify=True, timeout=Timeout(timeout=5.0), trust_env=True)
發(fā)送?GET
?請求。
參數(shù):請參見?httpx.request
?。
請注意 data
, files
, json
和 content
參數(shù)在此函數(shù)上不可用,因為?GET
?請求不應包含請求正文。
httpx.options(url, *, params=None, headers=None, cookies=None, auth=None, proxies=None, follow_redirects=False, cert=None, verify=True, timeout=Timeout(timeout=5.0), trust_env=True)
發(fā)送?OPTIONS
?請求。
參數(shù):請參見?httpx.request
?。
請注意 data
, files
, json
和 content
參數(shù)在此函數(shù)上不可用,因為?OPTIONS
?請求不應包含請求正文。
httpx.head(url, *, params=None, headers=None, cookies=None, auth=None, proxies=None, follow_redirects=False, cert=None, verify=True, timeout=Timeout(timeout=5.0), trust_env=True)
發(fā)送?HEAD
?請求。
參數(shù):請參見?httpx.request
?。
請注意 data
, files
, json
和 content
參數(shù)在此函數(shù)上不可用,因為?HEAD
?請求不應包含請求正文。
httpx.post(url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=None, proxies=None, follow_redirects=False, cert=None, verify=True, timeout=Timeout(timeout=5.0), trust_env=True)
發(fā)送?POST
?請求。
參數(shù):請參見?httpx.request
?。
httpx.put(url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=None, proxies=None, follow_redirects=False, cert=None, verify=True, timeout=Timeout(timeout=5.0), trust_env=True)
發(fā)送?PUT
?請求。
參數(shù):請參見?httpx.request
?。
httpx.patch(url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=None, proxies=None, follow_redirects=False, cert=None, verify=True, timeout=Timeout(timeout=5.0), trust_env=True)
發(fā)送?PATCH
?請求。
參數(shù):請參見?httpx.request
?。
httpx.delete(url, *, params=None, headers=None, cookies=None, auth=None, proxies=None, follow_redirects=False, cert=None, verify=True, timeout=Timeout(timeout=5.0), trust_env=True)
發(fā)送?DELETE
?請求。
參數(shù):請參見?httpx.request
?。
請注意 data
, files
, json
和 content
參數(shù)在此函數(shù)上不可用,因為?DELETE
?請求不應包含請求正文。
httpx.stream(method, url, *, params=None, content=None, data=None, files=None, json=None, headers=None, cookies=None, auth=None, proxies=None, timeout=Timeout(timeout=5.0), follow_redirects=False, verify=True, cert=None, trust_env=True)
?httpx.request()
?的替代方案是流式傳輸響應體,而不是立即將其加載到內(nèi)存中。
參數(shù):請參見?httpx.request
?。
另請參見:流式處理響應
class httpx.Client(*, auth=None, params=None, headers=None, cookies=None, verify=True, cert=None, http1=True, http2=False, proxies=None, mounts=None, timeout=Timeout(timeout=5.0), follow_redirects=False, limits=Limits(max_connections=100, max_keepalive_connections=20, keepalive_expiry=5.0), max_redirects=20, event_hooks=None, base_url='', transport=None, app=None, trust_env=True, default_encoding='utf-8')
HTTP 客戶端,具有連接池、HTTP/2、重定向、Cookie 持久性等功能。
用法:
>>> client = httpx.Client()
>>> response = client.get('https://example.org')
參數(shù):
True
?(默認 CA 捆綁包)、SSL 證書文件的路徑、?ssl.SSLContext
?或 ?False
?(將禁用驗證)。utf-8
?”。發(fā)送請求時要包含的 HTTP 標頭。
發(fā)送請求時要包含的 Cookie 值。
發(fā)送請求時要包含在 URL 中的查詢參數(shù)。
在請求級別傳遞任何身份驗證類時使用。
另請參閱身份驗證。
request(self, method, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
生成并發(fā)送請求。
等效于:
request = client.build_request(...)
response = client.send(request, ...)
請參閱?Client.build_request()
?、?Client.send()
?和 配置的合并,了解如何將各種參數(shù)與client-level
?配置合并。
get(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?GET
?請求。
參數(shù):請參見?httpx.request
?。
head(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?HEAD
?請求。
參數(shù):請參見?httpx.request
?。
options(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?OPTIONS
?請求。
參數(shù):請參見?httpx.request
?。
post(self, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?POST
?請求。
參數(shù):請參見?httpx.request
?。
put(self, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?PUT
?請求。
參數(shù):請參見?httpx.request
?。
patch(self, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?PATCH
?請求。
參數(shù):請參見?httpx.request
?。
delete(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?DELETE
?請求。
參數(shù):請參見?httpx.request
?。
stream(self, method, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
??httpx.request()?
?的替代方案是流式傳輸響應體,而不是立即將其加載到內(nèi)存中。
參數(shù):請參見??httpx.request
??。
另請參見:流式處理響應
build_request(self, method, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, timeout=, extensions=None)
生成并返回請求實例。
params
?、?headers
?和?cookies
?參數(shù)將與?client
?上設置的任何值合并。urlbase_url
?參數(shù)將與?client
?上的任何集合并。另請參閱:請求實例
send(self, request, *, stream=False, auth=, follow_redirects=)
發(fā)送請求。
請求按原樣發(fā)送,未經(jīng)修改。
通常,您需要構建一個?Client.build_request()
?,以便將任何客戶端級配置合并到請求中,但?httpx.Request()也
?支持傳遞顯式配置。
另請參閱:請求實例
close(self)
關閉?transport
?和代理。
class httpx.AsyncClient(*, auth=None, params=None, headers=None, cookies=None, verify=True, cert=None, http1=True, http2=False, proxies=None, mounts=None, timeout=Timeout(timeout=5.0), follow_redirects=False, limits=Limits(max_connections=100, max_keepalive_connections=20, keepalive_expiry=5.0), max_redirects=20, event_hooks=None, base_url='', transport=None, app=None, trust_env=True, default_encoding='utf-8')
異步 HTTP 客戶端,具有連接池、HTTP/2、重定向、Cookie 持久性等功能。
用法:
>>> async with httpx.AsyncClient() as client: >>> response = await client.get('https://example.org')
參數(shù):
True
?(默認 CA 捆綁包)、SSL 證書文件的路徑或?False
?(禁用驗證)。utf-8
?”。發(fā)送請求時要包含的 HTTP 標頭。
發(fā)送請求時要包含的 Cookie 值。
發(fā)送請求時要包含在 URL 中的查詢參數(shù)。
在請求級別傳遞任何身份驗證類時使用。
另請參閱身份驗證。
request(self, method, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
生成并發(fā)送請求。
等效于:
request = client.build_request(...) response = await client.send(request, ...)
請參閱?AsyncClient.build_request()
?和?AsyncClient.send()
? 配置的合并,了解如何將各種參數(shù)與客戶端級配置合并。
get(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?GET
?請求。
參數(shù):請參見?httpx.request
?。
head(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?HEAD
?請求。
參數(shù):請參見?httpx.request
?。
options(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?OPTIONS
?請求。
參數(shù):請參見?httpx.request
?。
post(self, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?POST
?請求。
參數(shù):請參見?httpx.request
?。
put(self, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?PUT
?請求。
參數(shù):請參見?httpx.request
?。
patch(self, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?PATCH
?請求。
參數(shù):請參見?httpx.request
?。
delete(self, url, *, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
發(fā)送?DELETE
?請求。
參數(shù):請參見?httpx.request
?。
stream(self, method, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, auth=, follow_redirects=, timeout=, extensions=None)
???httpx.request()??
?的替代方案是流式傳輸響應體,而不是立即將其加載到內(nèi)存中。
參數(shù):請參見???httpx.request??
?。
另請參見:流式處理響應
build_request(self, method, url, *, content=None, data=None, files=None, json=None, params=None, headers=None, cookies=None, timeout=, extensions=None)
生成并返回請求實例。
params
??、??headers
??和??cookies
??參數(shù)將與??client
??上設置的任何值合并。urlbase_url
??參數(shù)將與?client?上的任何集合并。另請參閱:請求實例
send(self, request, *, stream=False, auth=, follow_redirects=)
發(fā)送請求。
請求按原樣發(fā)送,未經(jīng)修改。
通常,您需要構建一個??Client.build_request()?
?,以便將任何客戶端級配置合并到請求中,但??httpx.Request()
?也?支持傳遞顯式配置。
另請參閱:請求實例
aclose(self)
關閉?transport
?和代理。
HTTP 響應。
def __init__(...)
?.status_code
? - int.reason_phrase
? - str.http_version
?- "?HTTP/2
?"或"?HTTP/1.1
?".url
? - URL.headers
? - headers.content
? - bytes.text
? - str.encoding
?- str.is_redirect
? - bool.request
? - Request.next_request
? - 可選[Request].cookies
? - cookies.history
? - 列表[Response].elapsed
? - timedeltadef .raise_for_status()
? - Nonedef .json()
? - Anydef .read()
? - bytesdef .iter_raw()
?- 字節(jié)迭代器def .iter_bytes()
? - 字節(jié)迭代器def .iter_text()
? - 文本迭代器def .iter_lines()
? - 文本迭代器def .close()
? - Nonedef .next()
? - Responsedef .aread()
? - bytesdef .aiter_raw()
? - 異步字節(jié)迭代器def .aiter_bytes()
? - 異步字節(jié)迭代器def .aiter_text()
? - 異步文本迭代器def .aiter_lines()
?- 異步文本迭代器def .aclose()
? - Nonedef .anext()
?- 響應一個 HTTP 請求。可以顯式構造,以便更好地控制通過網(wǎng)絡發(fā)送的確切內(nèi)容。
>>> request = httpx.Request("GET", "https://example.org", headers={'host': 'example.org'})
>>> response = client.send(request)
def __init__(method, url, [params], [headers], [cookies], [content], [data], [files], [json], [stream])
?.method
?- str.url
? - 網(wǎng)址.content
?- 字節(jié)、字節(jié)迭代器或字節(jié)異步迭代器.headers
? - headers.cookies
? - cookie一個規(guī)范化的、支持IDNA的URL。
>>> url = URL("https://example.org/") >>> url.host 'example.org'
def __init__(url, allow_relative=False, params=None)
?.scheme
?- str.authority
? - str.host
? - str.port
? - int.path
? - str.query
? - str.raw_path
?- str.fragment
? - str.is_ssl
? - bool.is_absolute_url
?- bool.is_relative_url
? - booldef .copy_with([scheme], [authority], [path], [query], [fragment])
? - URL不區(qū)分大小寫的多維字典。
>>> headers = Headers({'Content-Type': 'application/json'})
>>> headers['content-type']
'application/json'
def __init__(self, headers, encoding=None)
?def copy()
? - headers一個類似字典的cookies 存儲庫。
>>> cookies = Cookies()
>>> cookies.set("name", "value", domain="example.org")
def __init__(cookies: [dict, Cookies, CookieJar])
?.jar
?- CookieJardef extract_cookies(response)
?def set_cookie_header(request)
?def set(name, value, [domain], [path])
?def get(name, [domain], [path])
?def delete(name, [domain], [path])
?def clear([domain], [path])
?
更多建議: