用?传递URL参数进入POST请求

时间:2019-07-19 16:44:07

标签: python-3.x post python-requests

由于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页面。我在做什么错误?

0 个答案:

没有答案
相关问题