通过javascript或jquery中的curl请求将值发布到golang

这是我从php出发的curl帖子。效果很好</ p>

  extract($ postFieldsArr); 
$ json_id = json_encode($ postFieldsArr);

$ ch = curl_init();
curl_setopt($ ch,CURLOPT_URL,'https:// localhost:9000 / GoogleSimpleReports');

curl_setopt($ ch,CURLOPT_PORT,9000);
curl_setopt($ ch,CURLOPT_CUSTOMREQUEST,“ POST”);
curl_setopt($ ch,CURLOPT_POSTFIELDS,$ json_id);
curl_setopt($ ch,CURLOPT_SSLVERSION,1); \ $ ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true);

curl_setopt($ ch,CURLOPT_HTTPHEADER,array(
'Content-Type:application / json',
'Content-Length:'。strlen($ json_id))
);

$ result = curl_exec($ ch);
</ code> </ pre>

类似地,我正在尝试执行从JavaScript到golang的curl发布,这是正确的语法吗? 如何设置此setRequestHeader授权?</ p>

  $。ajax({
url:'https:// localhost:9000 / GoogleSimpleReports',
beforeSend:function(xhr ){
xhr.setRequestHeader(“ Authorization”,“ Bearer 6QXNMEMFHNY4FJ5ELNFMP5KRW52WFXN5”)
},成功:function(data){
alert(data);
//处理JSON数据等
}
} )
</ code> </ pre>
</ div>

展开原文

原文

This is my curl post from php.This works perfectly

extract($postFieldsArr);
$json_id = json_encode($postFieldsArr);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://localhost:9000/GoogleSimpleReports');
curl_setopt($ch, CURLOPT_PORT, 9000);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_id);
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($json_id))                                                                       
);                                                                                                                   

$result = curl_exec($ch);

Similarly i am trying to perform a curl post from javascript to golang, is this the correct syntax ? How do i set this setRequestHeader Authorization ?

$.ajax({
        url: 'https://localhost:9000/GoogleSimpleReports',
        beforeSend: function(xhr) {
             xhr.setRequestHeader("Authorization", "Bearer 6QXNMEMFHNY4FJ5ELNFMP5KRW52WFXN5")
        }, success: function(data){
            alert(data);
            //process the JSON data etc
        }
})

doujie7346
doujie7346 您在那做的同样的事情应该起作用。有一件事,您可以仅使用“用户名”和“密码”来代替“发送授权”。您可以在此处查看有关它的设置说明:api.jquery.com/jquery.ajax
4 年多之前 回复
dqellle310167
dqellle310167 假设golang作为服务器实例端口9000运行,当我从我的网站(php)向golang发出curl请求时,我的网站文件分别在apache服务器端口6060中运行。但是当我尝试从我的网站(javascript)到golang进行相同的curl发布时,我不确定语法。我需要一些关于从JavaScript到golang服务器的curl发布的帮助。
4 年多之前 回复
doushu8260
doushu8260 那到底是什么问题呢?抱歉,我想了解您的问题。您是否要验证golang(golang.org/pkg/net/http/#Request.BasicAuth)中的授权标头?
4 年多之前 回复

1个回答



要设置请求标头,您必须使用 Write </ code> 函数,该函数提供接受 key </ code>的 Get()</ code>函数,并且 一个 value </ code>作为参数。</ p>

  func(h标头)设置(键,值字符串)
</ code> </ pre>

要设置请求标头,您应该使用:</ p>

  writer.Header()。Set(“ Content-Type”,“ application / json”)
</ code> </ pre>

,其中 writer </ code>的类型为 http.ResponseWriter </ code> 。</ p>
</ div>

展开原文

原文

To set the request header you have to use the Write function which provide a Get() function accepting a key and a value as parameter.

func (h Header) Set(key, value string)

To setup the request header you should use:

writer.Header().Set("Content-Type", "application/json")

where writer is of type http.ResponseWriter.

dsv38843
dsv38843 但是我从哪里得到这个关键值? 你可以发表一个例子吗?@ Simo
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问