在命令行中使用CURL:
curl-d@%1-X获取https://blah-blah
这是一个Windows批处理文件,我在命令行中传递文件名。使用这个,我可以发出一个服务调用,在一个文件中发送大量的输入参数,我收到了大量的输出。
对于我的生活,当我尝试编程,我不能使它工作。这一定是可能的,因为它可以在命令上完成。然而,当我设置
curl_easy_setopt(m_Curl, CURLOPT_HTTPGET, 1);
我无法上载文件,即使我设置了回调
如果我使用:
curl_easy_setopt(m_Curl, CURLOPT_UPLOAD, 1L);
调用变成了'PUT',即使我试图强制头文件成为GET。我按照文档,可以看到这是记录的行为。但是,什么是避免这种默认的途径?
如有任何指导,我们将不胜感激。
谢谢你,
斯坦
2条答案
按热度按时间41zrol4v1#
AFAIK这并不是严格禁止的,但是你不应该发送一个带有主体的GET请求,另一方面,服务器应该能够处理一个带有主体的GET请求,但是响应不应该依赖于主体的内容。
如果你真的需要用GET发送一个包含请求体的请求,你可以用
CURLOPT_CUSTOMREQUEST
改变方法的值,这不会改变curl的行为。jjjwad0x2#
您也可以使用CURLOPT_POSTFIELDS命令将主体粘贴为字符串,然后将请求更改为GET,就像@托马斯Sablik的回答一样。