当前位置: 首页 > 知识库问答 >
问题:

如何将此Curl调用转换为Python 3?

陈誉
2023-03-14

我有下面的curl,它成功地将我登录到一个网站。它返回一个302和一个cookie:

curl \
--verbose \
--request POST \
--data '__EVENTTARGET=&body%3Ax%3AtxtLogin=kingkong%40mailinator.com&body%3Ax%3AbtnLogin=&crypted_pass=736015615f9e251692a6a4aa8a7baa14' \
"https://emma.maryland.gov/page.aspx/en/usr/login"

不幸的是,我必须插入真正的用户

我想使用requests.post()将其转换为Python3代码。所以我做了这个代码:

>>> requests.post(
...     url='https://emma.maryland.gov/page.aspx/en/usr/login',
...     data={
...         '__EVENTTARGET': '',
...         'body:x:txtLogin': 'kingkong@mailinator.com',
...         'body:x:btnLogin': '',
...         'crypted_pass': '736015615f9e251692a6a4aa8a7baa14'
...     }
... )
<Response [200]>

但是我从Python3代码(200)得到的响应与我从Curl(302)得到的响应不匹配。这意味着目标服务器感觉到两个请求之间的差异。

如何将curl转换为Python3,它发送完全相同的底层HTTP请求?

共有1个答案

云和同
2023-03-14

您的请求代码实际上比cURL命令更聪明。

HTTP 302-是一个重定向,cURL没有跟随它,并给你它得到的第一个响应。您可以使用-L使cURL跟随重定向:有没有一种方法可以使用命令行cURL跟随重定向?

请求代码遵循重定向,并给出最终响应,该响应碰巧是HTTP 200。

使用-L尝试curl命令,看看是否获得HTTP 200。

或者,您可以使用allow_redirects=False选项要求requests不遵循重定向:有没有一种简单的方法可以在python中请求URL而不遵循重定向?

 类似资料:
  • 问题内容: 我有curl命令: 我想在Java API中创建HTTP请求,该操作将执行相同的操作。可以在本README中找到该curl命令。它用于开始在RabbitMQ上记录日志。回应并不重要。 现在,我创建了这样的内容(我删除了不太重要的行,例如捕获了异常等),但是不幸的是,它不起作用: 完整代码 问题答案: 这是最终的解决方案:

  • 如何将下面的cURL命令转换为Postman rest调用? 我尝试了以下方法: URL:(POST)abc.com/input.import 标题:内容类型:application/json 正文: 编辑:需要邮递员的原始正文格式。导入以格式创建请求

  • 问题内容: 以下函数从url获取图像并进行加载,然后返回其宽度和高度: 问题是,如果我做这样的事情: 我得到,因为该函数运行但图像尚未加载。 仅当照片已加载且宽度和高度已可用时,如何使用等待/异步返回值? 问题答案: 如何使用/ 将此回调函数转换为Promise? 你不知道与往常一样,您可以使用构造函数。没有语法糖。 仅当照片已加载且宽度和高度已经可用时,如何使用/ 记录值? 你可以做

  • Postman具有将Postman转换为cURL代码的内置函数,但如果我想将cURL代码转换为Postman,如何有效地实现这一点?例如,cURL代码如下所示; 卷曲-v-X柱“https://speech.platform.bing.com/recognize?scenarios=smd 谢谢和最好的问候,

  • 我将使用MailgunAPI。 以下是在终端中正常工作的cRUL命令。 我无法理解如何使用Postman运行此命令。 我试图导入cURL命令到邮递员,但它不导入api: key。我真的不明白如何将这个api密钥导入到Postman中以正确运行api。 请帮助我使用Postman运行此命令。 非常感谢。

  • 问题内容: 我有一个curl命令,用于elasticsearch聚合,如下所示。 我想在浏览器中将以上这些卷曲搜索到我的htmlpage中,如何将其转换为类似Elasticsearch中URI搜索的普通url? 请帮助我将上面的内容转换为url吗? 问题答案: 您可以使用查询字符串参数,以便直接在URL中传递正文