在python请求中处理井号()
我使用请求编译一个自定义URL,其中一个参数包含一个磅符号。有人能解释一下如何在不编码井号的情况下传递参数吗 这将返回正确的CSV文件在python请求中处理井号(),python,python-requests,Python,Python Requests,我使用请求编译一个自定义URL,其中一个参数包含一个磅符号。有人能解释一下如何在不编码井号的情况下传递参数吗 这将返回正确的CSV文件 results_url = 'https://baseballsavant.mlb.com/statcast_search/csv?all=true&hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7C&
results_url = 'https://baseballsavant.mlb.com/statcast_search/csv?all=true&hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7C&hfC=&hfSea=2019%7C&hfSit=&player_type=batter&hfOuts=&opponent=&pitcher_throws=&batter_stands=&hfSA=&game_date_gt=&game_date_lt=&hfInfield=&team=&position=&hfOutfield=&hfRO=&home_road=&hfFlag=&hfPull=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=pitches&player_event_sort=h_launch_speed&sort_order=desc&min_abs=0&type=#results'
results = requests.get(results_url, timeout=30).content
results_df = pd.read_csv(io.StringIO(results.decode('utf-8')))
这是不可能的
URL = 'https://baseballsavant.mlb.com/statcast_search/csv?'
def _get_statcast(params):
_get = get(URL, params=params, timeout=30)
_get.raise_for_status()
return _get.content
问题似乎是,当通过请求传递“结果”时,之后的任何内容都会被忽略,从而导致下载错误的CSV。如果有人有其他的想法,我将不胜感激
EDIT2:在python论坛上也问过这个问题,基本上,URL中的文字磅符号之后的任何内容都不会发送到服务器。这适用于浏览器和请求 URL的格式表明type=results部分实际上是一个查询参数 请求将自动编码查询参数,而浏览器不会。以下是各种查询以及服务器在每种情况下收到的内容: 浏览器中的URL参数 在浏览器中使用英镑符号时,池塘符号之后的任何内容都不会发送到服务器:
https://httpbin.org/anything/type=#results
https://httpbin.org/anything?type=#results
import requests
r = requests.get('https://httpbin.org/anything/type=#results')
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything/type=.
请求的页面名为type=,似乎不正确。
浏览器中的查询参数
=格式表明它可能是您正在传递的查询参数。但是,英镑符号之后的任何内容都不会发送到服务器:
https://httpbin.org/anything/type=#results
https://httpbin.org/anything?type=#results
import requests
r = requests.get('https://httpbin.org/anything/type=#results')
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=.
被请求的页面被称为任何页面。
接收到没有值的参数类型。
浏览器中的编码查询参数
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=%23results.
被请求的页面被称为任何页面。
接收到值为results的参数类型。
带有URL参数的Python请求
请求也不会在英镑符号后向服务器发送任何内容:
https://httpbin.org/anything/type=#results
https://httpbin.org/anything?type=#results
import requests
r = requests.get('https://httpbin.org/anything/type=#results')
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=.
被请求的页面被称为任何页面。
接收到没有值的参数类型。
带查询参数的Python请求
请求自动对查询参数进行编码:
import requests
r = requests.get('https://httpbin.org/anything', params={'type': '#results'})
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=%23results.
被请求的页面被称为任何页面。
接收到值为results的参数类型。
具有双编码查询参数的Python请求
如果手动编码查询参数,然后将其传递给请求,则它将再次编码已编码的查询参数:
import requests
r = requests.get('https://httpbin.org/anything', params={'type': '%23results'})
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=%2523results.
被请求的页面被称为任何页面。
收到值为%23results的参数类型。
基本上,URL中文字磅符号之后的任何内容都不会发送到服务器。这适用于浏览器和请求 URL的格式表明type=results部分实际上是一个查询参数 请求将自动编码查询参数,而浏览器不会。以下是各种查询以及服务器在每种情况下收到的内容: 浏览器中的URL参数 在浏览器中使用英镑符号时,池塘符号之后的任何内容都不会发送到服务器:
https://httpbin.org/anything/type=#results
https://httpbin.org/anything?type=#results
import requests
r = requests.get('https://httpbin.org/anything/type=#results')
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything/type=.
请求的页面名为type=,似乎不正确。
浏览器中的查询参数
=格式表明它可能是您正在传递的查询参数。但是,英镑符号之后的任何内容都不会发送到服务器:
https://httpbin.org/anything/type=#results
https://httpbin.org/anything?type=#results
import requests
r = requests.get('https://httpbin.org/anything/type=#results')
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=.
被请求的页面被称为任何页面。
接收到没有值的参数类型。
浏览器中的编码查询参数
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=%23results.
被请求的页面被称为任何页面。
接收到值为results的参数类型。
带有URL参数的Python请求
请求也不会在英镑符号后向服务器发送任何内容:
https://httpbin.org/anything/type=#results
https://httpbin.org/anything?type=#results
import requests
r = requests.get('https://httpbin.org/anything/type=#results')
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=.
被请求的页面被称为任何页面。
接收到没有值的参数类型。
带查询参数的Python请求
请求自动对查询参数进行编码:
import requests
r = requests.get('https://httpbin.org/anything', params={'type': '#results'})
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=%23results.
被请求的页面被称为任何页面。
接收到值为results的参数类型。
具有双编码查询参数的Python请求
如果手动编码查询参数,然后将其传递给请求,则它将再次编码已编码的查询参数:
import requests
r = requests.get('https://httpbin.org/anything', params={'type': '%23results'})
print(r.url)
print(r.json())
返回:
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Cache-Control": "max-age=0",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
{
"args": {
"type": ""
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type="
}
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en;q=0.9,en-US;q=0.8,de;q=0.7",
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "*redacted*"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything/type=#results
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything/type="
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "#results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%23results"
}
https://httpbin.org/anything?type=%23results
{
"args": {
"type": "%23results"
},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"json": null,
"method": "GET",
"origin": "*redacted*",
"url": "https://httpbin.org/anything?type=%2523results"
}
服务器接收到的URL为https://httpbin.org/anything?type=%2523results.
被请求的页面被称为任何页面。
带有val的参数类型
已收到%23个结果的ue。
网站提供了很多有趣的信息,但我认为这可能不是你想要的。假设python论坛中的内容也是由您编写的,请继续阅读:
从您提供的信息来看,type=results似乎用于过滤原始csv并仅返回部分数据。如果是这种情况,那么type=part实际上是不必要的,请尝试不使用它的URL,并查看是否得到相同的结果
我会解释:
URL中的符号称为a,在不同类型的页面中,它有不同的用途。在文本/csv页面中,它用于按列、行或两者的某种组合过滤csv表。你可以阅读更多关于它的内容
在您的情况下,结果可以是一个查询参数,用于以自定义方式筛选csv表
不幸的是,正如Cloudomation的回答所示,服务器端没有碎片数据,因此您将无法以您尝试的方式通过python请求参数访问它
您可以尝试使用Javascript访问它,或者只需下载整个未过滤的CSV表并自己进行过滤
在python中,有许多方法可以轻松有效地实现这一点。
查找更多信息,或者如果需要更多控制,可以将CSV导入到
编辑:
我看到您通过连接字符串并传递第二个请求找到了一个解决方法。由于这是可行的,您可能可以按照建议将参数转换为字符串。如果它符合您的要求,那么这将是一个更高效、或许更优雅的解决方案:
params = {'key1': 'value1', 'key2': 'value2'} // sample params dict
def _get_statcast_results(params):
// convert params to string - alternatively you can use %-formatting
params_str = "&".join(f"{k}={v}" for k,v in payload.items())
s = session()
data = s.get(statcast_url, params = params_str, timeout=30)
return data.content
网站提供了很多有趣的信息,但我认为这可能不是你想要的。假设python论坛中的内容也是由您编写的,请继续阅读:
从您提供的信息来看,type=results似乎用于过滤原始csv并仅返回部分数据。如果是这种情况,那么type=part实际上是不必要的,请尝试不使用它的URL,并查看是否得到相同的结果
我会解释:
URL中的符号称为a,在不同类型的页面中,它有不同的用途。在文本/csv页面中,它用于按列、行或两者的某种组合过滤csv表。你可以阅读更多关于它的内容
在您的情况下,结果可以是一个查询参数,用于以自定义方式筛选csv表
不幸的是,正如Cloudomation的回答所示,服务器端没有碎片数据,因此您将无法以您尝试的方式通过python请求参数访问它
您可以尝试使用Javascript访问它,或者只需下载整个未过滤的CSV表并自己进行过滤
在python中,有许多方法可以轻松有效地实现这一点。
查找更多信息,或者如果需要更多控制,可以将CSV导入到
编辑:
我看到您通过连接字符串并传递第二个请求找到了一个解决方法。由于这是可行的,您可能可以按照建议将参数转换为字符串。如果它符合您的要求,那么这将是一个更高效、或许更优雅的解决方案:
params = {'key1': 'value1', 'key2': 'value2'} // sample params dict
def _get_statcast_results(params):
// convert params to string - alternatively you can use %-formatting
params_str = "&".join(f"{k}={v}" for k,v in payload.items())
s = session()
data = s.get(statcast_url, params = params_str, timeout=30)
return data.content
我只经历了一次尝试,但希望有一个解决办法。我没有“通过参数”传递结果,而是使用基本url+所有其他参数启动了一个会话,并使用“结果”加入该会话,然后通过第二个get运行该会话
statcast_url = 'https://baseballsavant.mlb.com/statcast_search/csv?'
results_url = '&type=#results&'
def _get_statcast_results(params):
s = session()
_get = s.get(statcast_url, params=params, timeout=30, allow_redirects=True)
new_url = _get.url+results_url
data = s.get(new_url, timeout=30)
return data.content
仍然需要进行更多的试验,但我认为这应该有效。感谢所有插话的人。尽管我没有得到一个直接的答案,但这些回答仍然很有帮助。我只通过了一次试验,但希望能找到解决办法。我没有“通过参数”传递结果,而是使用基本url+所有其他参数启动了一个会话,并使用“结果”加入该会话,然后通过第二个get运行该会话
statcast_url = 'https://baseballsavant.mlb.com/statcast_search/csv?'
results_url = '&type=#results&'
def _get_statcast_results(params):
s = session()
_get = s.get(statcast_url, params=params, timeout=30, allow_redirects=True)
new_url = _get.url+results_url
data = s.get(new_url, timeout=30)
return data.content
仍然需要进行更多的试验,但我认为这应该有效。感谢所有插话的人。尽管我没有得到直接的回答,但这些回答仍然很有帮助。为什么不想对英镑符号进行编码?www.example.com/type=%23结果听起来像是正确的URL。uri中的特殊字符不打算发送到服务器端。看到这个:@Nick你怎么知道url是有效的?你是通过浏览器测试的吗?浏览器在发送请求之前删除签名。您是否尝试过不带英镑后缀的下载,即www.example.com/type=结果应等同于www.example.com/type=。因此,基本上只要在读取csv时删除磅后缀,就可以了。您应该提供一个最简单的工作和可验证的示例,说明您正在尝试执行的操作:哪些文件确实存在?哪里您在http请求接收和http请求响应之间执行了哪些转换?正如人们所说,是特殊的,您应该进行编码/解码以返回正确的数据23对应于,而%是%25请参见,这样您就可以dif了
区分两者。为什么不想对磅符号进行编码?www.example.com/type=%23结果听起来像是正确的URL。是uri中的一个特殊字符,不打算发送到服务器端。看到这个:@Nick你怎么知道url是有效的?你是通过浏览器测试的吗?浏览器在发送请求之前删除签名。您是否尝试过不带英镑后缀的下载,即www.example.com/type=结果应等同于www.example.com/type=。因此,基本上只要在读取csv时删除磅后缀,就可以了。您应该提供一个最简单的工作和可验证的示例,说明您正在尝试执行的操作:哪些文件确实存在?哪里您在http请求接收和http请求响应之间执行了哪些转换?正如人们所说,是特殊的,您应该进行编码/解码以返回正确的数据23对应于,%是%25,所以你可以区分这两个。哈哈,是的,那是我在python论坛上。我想我迟早会在两人之间得到某种反馈。只是重申一下我在顶部所说的……我知道请求本身不是问题,因为我可以在不使用参数的情况下提取正确的数据。我只需要使用参数来选择其他特定情况,如果这有意义的话。@Nick将来当你在多个站点上交叉发布时,链接到他们,这样问题就不会被回答两次是很感激的。@Micheydel我会记住这一点。通常我只是坚持在这里提问,但没有得到太多反馈,真的需要解决这个问题。哈哈,是的,那就是我在python论坛上。我想我迟早会在两人之间得到某种反馈。只是重申一下我在顶部所说的……我知道请求本身不是问题,因为我可以在不使用参数的情况下提取正确的数据。我只需要使用参数来选择其他特定情况,如果这有意义的话。@Nick将来当你在多个站点上交叉发布时,链接到他们,这样问题就不会被回答两次是很感激的。@Micheydel我会记住这一点。通常我只是坚持在这里提问,但没有得到太多反馈,我真的需要解决这个问题。谢谢你的解释。现在我明白了为什么不管我对参数做了什么更改,都会返回主CSV。谢谢你的解释。现在我明白了为什么不管我对参数做了什么更改,都会返回主CSV。请参阅对我答案的编辑。我打赌它会起作用,如果是这样,它将为您节省第二个请求。请参阅对我答案的编辑。我敢打赌它会起作用,如果是这样的话,它会帮你省下第二个请求。