Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Curl请求在终端中运行良好,但在转换后在python中不起作用_Python_Curl_Python Requests - Fatal编程技术网

Curl请求在终端中运行良好,但在转换后在python中不起作用

Curl请求在终端中运行良好,但在转换后在python中不起作用,python,curl,python-requests,Python,Curl,Python Requests,我有一个curl请求,它在终端上得到“200”响应,但当我使用“”将其转换为python并使用终端发送python请求时,我得到的响应是“403” 卷曲请求 curl 'https://www.realestate.com.au/agent/graphql' --data-binary $'{"operationName":"SendEnquiry","variables":{"enquiry":{"id":"1375705","enquiryType":"General enquiry","p

我有一个curl请求,它在终端上得到“200”响应,但当我使用“”将其转换为python并使用终端发送python请求时,我得到的响应是“403”

卷曲请求

curl 'https://www.realestate.com.au/agent/graphql' --data-binary $'{"operationName":"SendEnquiry","variables":{"enquiry":{"id":"1375705","enquiryType":"General enquiry","propertyAddress":"","message":"Australia property prices?","contactMethod":"EMAIL","name":"sadfal","phone":"","email":"ahmadarshi@ucp.edu.pk","sourceUrl":"https://www.realestate.com.au/agent/mary-wang-1375705","referrer":""}},"query":"mutation SendEnquiry($enquiry: ConsumerEnquiryInput\u21) {\\n  sendEnquiry(enquiry: $enquiry) {\\n    status\\n    isValid\\n    message\\n    __typename\\n  }\\n}\\n"}' --compressed
Python请求

import requests

data = '${"operationName":"SendEnquiry","variables":{"enquiry":{"id":"1375705","enquiryType":"General enquiry","propertyAddress":"","message":"Australia property prices?","contactMethod":"EMAIL","name":"sadfal","phone":"","email":"ahmadarshi@ucp.edu.pk","sourceUrl":"https://www.realestate.com.au/agent/mary-wang-1375705","referrer":""}},"query":"mutation SendEnquiry($enquiry: ConsumerEnquiryInput\\u21) {\\\\n  sendEnquiry(enquiry: $enquiry) {\\\\n    status\\\\n    isValid\\\\n    message\\\\n    __typename\\\\n  }\\\\n}\\\\n"}'

response = requests.post('https://www.realestate.com.au/agent/graphql', data=data)


403表示请求被拒绝(禁止您访问该页面)。确保使用API文档验证请求所需的标题以及可能需要随数据一起指定的
内容类型


此外,您可能对请求的格式有误,
$
应该从字符串中排除。

这似乎是bash解析器中的错误,$没有传递给curl,也不是要发布的数据的一部分。如果我是你,我会给trillworks的人发一份错误报告。引述:

$'…':这是一个Bash扩展。它阻止除反斜杠转义之外的所有操作,还允许特殊的反斜杠转义序列,如\n用于换行符,\t用于制表符,\xnn用于十六进制指定的字节


而且curl.trillworks.com解析器错误地解析了$“…”语法。

尝试在post方法中使用
data=json.dumps(data)
,您可以使用postman请求转换器在python代码中转换HTTP请求。否,响应仍然是403可能给我们原始url和生成此curl的您使用的查询即使我没有包含头,curl req也可以正常工作。curl会根据正在处理的请求自动附加一些头-您可以尝试使用
curl-v
截取这些头,以查看正在执行的操作发送出去,然后在你的请求中模仿。这是一个非常方便的提示。但我对scrapy是新手,不知道我的必填字段是什么。你能帮我吗?我已经被困在这几个小时了,这里有几件事:(1)如果你不应该访问该页面,那么我们无法帮助你到达那里。(2) 查看请求中的cURL输出(如果您知道这是成功的,然后在基于
的实现中指定相同的标题和内容格式。在提供初始指导后,如果不了解您试图解决的核心问题,很难提供帮助。我理解,先生,我非常感谢您的指导。我只是提出同样的要求如上所述,与curl-v'--data-b一起。。。。