如何将curl请求转换为javascript

如何将curl请求转换为javascript,javascript,http,curl,Javascript,Http,Curl,我正在尝试将HTTP请求从我的react代码发送到iphub API 文档中有一个如何在此服务中使用的示例: curlhttp://v2.api.iphub.info/ip/8.8.8.8 -H“X键:123” 我根据一些答案转换请求,如下所示: const ripeEndpoint = 'http://v2.api.iphub.info/ip/8.8.8.8' fetch(ripeEndpoint, { method: 'GET', headers: new Headers({

我正在尝试将HTTP请求从我的react代码发送到iphub API

文档中有一个如何在此服务中使用的示例:

curlhttp://v2.api.iphub.info/ip/8.8.8.8 -H“X键:123”

我根据一些答案转换请求,如下所示:

const ripeEndpoint = 'http://v2.api.iphub.info/ip/8.8.8.8'
fetch(ripeEndpoint, {
  method: 'GET',
  headers: new Headers({
    'Access-Control-Allow-Origin': '*',
    'Content-Type': 'multipart/form-data',
    'X-Key': myApiKey
  }),
})

但是响应是404,我认为我的请求是错误的,我如何知道转换后的请求是否正确?

您混淆了响应和请求头

响应头是可以在HTTP响应中使用的与消息内容无关的消息头。响应标题,如
Age
Location
Server
用于提供更详细的响应上下文。。。然而,在这样的上下文中,这些实体请求通常称为响应头

资料来源:

请求头是可以在HTTP请求中使用的,与消息内容无关的。请求头,如
Accept
Accept-*
If-*
允许执行条件请求;其他如
Cookie
User-Agent
Referer
等,精确地定义上下文,以便服务器可以定制答案

资料来源:

对于一个简单的
GET
请求,您通常根本不需要任何头,请参阅 在您的例子中,在
curl
命令中,您指定了一个额外的头,因此您也可以在Javascript中这样做。

尝试以下方法:

<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
$url = 'http://v2.api.iphub.info/ip/'.$ipaddress;
$auth = "OTf4sfpNHUhRM1AwNVMOZlJPSmRseTY0WTFsMGhtR1J0alhEbW=="; 
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-Key: {$auth}"]);
$result = curl_exec($ch);
echo $result;
curl_close($ch);
?>


访问控制允许源代码
是一个响应头,尝试将其指定为请求头毫无意义。
内容类型:'multipart/form data'
–为什么?您的cURL命令中没有任何内容会导致使用此API。此API是否启用了CORS…?