[英]Curl request is working in terminal but not working for python after converting
[英]Curl request is working fine in terminal but not working in python after converting
I have a curl request that gets me the '200' response on terminal but when I convert it to python using ' https://curl.trillworks.com/ ' and send python request using terminal I'm getting '403' as a回复。
Curl 请求
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 文档验证请求需要哪些标头,以及可能需要与数据一起指定哪些Content-Type
。
此外,您似乎可能对请求进行了错误处理 - $
可能应该从字符串中排除。
它似乎是https://curl.trillworks.com/ bash 解析器中的一个错误 - $ 未传递给 curl 并且不是要发布的数据的一部分。 如果我是你,我会向 trillworks 人员发送错误报告。 引用http://mywiki.wooledge.org/Quotes :
$'...':这是一个 Bash 扩展。 它可以防止除反斜杠 escaping 之外的所有内容,还允许特殊的反斜杠转义序列,例如 \n 用于换行符,\t 用于制表符,\xnn 用于以十六进制指定的字节。
并且 curl.trillworks.com 解析器错误地解析了 $'...' 语法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.