由于URL位于服务器后面,因此只有登录用户才能访问我在问题中使用过example.com
我阅读了几篇关于将URL参数传递到Python的帖子请求中的帖子。如果我有类似http://example.com/FileView?page=locations的URL,如何将FileView?page = locations传递到帖子请求中
我尝试了以下
from bs4 import BeautifulSoup
from urllib.parse import urlencode, quote_plus
import random
import urllib3
import os
import json
import requests
from pprint import pprint
url='https:abc.com'
urllib3.disable_warnings()
headers={
"Content-Type": "application/x-www-form-urlencoded",
"Referer": "http://example.com/locations.jsp",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"}
with requests.session() as s:
r=s.get(url,headers=headers,verify=False)
item_body={"fileType": "csv",
"fileAction": "Download"}
data1={"page":"locations"}
r2=s.post(url,params=(data1),data=(item_body),headers=headers,verify=False)
print(r2.text)
我也尝试过传递FileView与?和空白字符串,它仍然无法正常工作。尝试直接访问http://example.com/FileView?page=locations给了我500服务器错误。我尝试将dict数据转换为json,但仍然无法弄清
这里的表单数据仅由我在字典中分隔的两个项目组成。 实际的输出是下载一个csv文件。相反,我得到的只是标题中的Referrer的html页面。我在做什么错误?