0

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
        }
})
3
  • So what's exactly your problem? Sorry but I am trying to understand your question. Do you wish to validate authorization header within golang ( golang.org/pkg/net/http/#Request.BasicAuth )? Commented Feb 10, 2016 at 14:18
  • Assume golang is running as a server instance port 9000, i have my website file running in apache server port 6060 separately, when i make a curl request from my website (php) to golang it works. But when i try that same curl post from my website(javascript) to golang im not sure about the syntax . i need some help regarding curl post from javascript to golang server.. Commented Feb 11, 2016 at 10:53
  • The same thing you have there should work. Tho there's one thing, you can replace this beforeSend Authorization with just 'username' and 'password'. You can see settings description about it here: api.jquery.com/jquery.ajax Commented Feb 11, 2016 at 11:20

1 Answer 1

1

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.

Sign up to request clarification or add additional context in comments.

1 Comment

but where do i get this key value ? can you post an example ?@ Simo

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.