在 javascript 中执行 curl 请求?

新手上路,请多包涵

是否可以在 jQuery 或 javascript 中发送 curl 请求?

是这样的:

 curl \
-H 'Authorization: Bearer 6Q************' \
'https://api.wit.ai/message?v=20140826&q='

因此,在 PHP 中提交表单时,如下所示:

 $header = array('Authorization: Bearer 6Q************');
$ch = curl_init("https://api.wit.ai/message?q=".urlEncode($_GET['input']));
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
curl_close($ch);

我想做的是执行这个 curl 请求,它返回 json,然后我计划用 jQuery 的 $.get() 函数解析它。

原文由 wordSmith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

curl 是 linux 中的一个命令(也是 php 中的一个库)。 Curl 通常发出 HTTP 请求。

您真正想要做的是从 javascript 发出 HTTP(或 XHR)请求。

使用这个词汇你会发现一堆例子,对于初学者来说: Sending authorization headers with jquery and ajax

本质上你会想要调用 $.ajax 带有一些标题选项等。

 $.ajax({
        url: 'https://api.wit.ai/message?v=20140826&q=',
        beforeSend: function(xhr) {
             xhr.setRequestHeader("Authorization", "Bearer 6QXNMEMFHNY4FJ5ELNFMP5KRW52WFXN5")
        }, success: function(data){
            alert(data);
            //process the JSON data etc
        }
})

原文由 Amir T 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以使用 JavaScripts Fetch API (在您的浏览器中可用)来发出网络请求。

如果使用 node,则需要安装 node-fetch 包。

 const url = "https://api.wit.ai/message?v=20140826&q=";

const options = {
  headers: {
    Authorization: "Bearer 6Q************"
  }
};

fetch(url, options)
  .then( res => res.json() )
  .then( data => console.log(data) );

原文由 JSON C11 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题