Hi Punnadi, Thank you. I tried replacing the query in my code with the json string as the post suggests as follows.
var query = []byte(`{"action"="login","userName"="<username>","password"="<password>"}`) Following is the response I got. *response Status: 200 OK* *response Headers: map[Server:[nginx/1.4.6 (Ubuntu)] Date:[Sun, 21 Jun 2015 17:20:26 GMT] Content-Type:[text/html] Connection:[keep-alive] Set-Cookie:[JSESSIONID=80150F3A762F6E3281F7D6395ACC91EE; Path=/appmgt/; Secure; HttpOnly]]* *response Body: Action is not specified* It seems that the problem is in the 'query' part in both cases, I get the same "Action is not specified" response. The correct format for that will solve the issue I think. Thanks. Regards, Dilhasha Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/> (M.N.F.Dilhasha) Undergraduate | Department of Computer Science and Engineering University of Moratuwa Sri Lanka On Sun, Jun 21, 2015 at 10:28 PM, Punnadi Gunarathna <punn...@wso2.com> wrote: > Hi Fathima, > > Try this also. > > > http://stackoverflow.com/questions/24455147/go-lang-how-send-json-string-in-post-request > > On Sun, Jun 21, 2015 at 2:19 PM, Fathima Dilhasha <dilhasha....@gmail.com> > wrote: > >> Hi, >> >> I'm trying to implement the following REST call (curl command given) to >> WSO2 Appfactory in 'GO' using net/http [1] >> <http://golang.org/pkg/net/http/>. >> >> >> *curl -v -c cookies1 -X POST -k >> https://apps.cloud.wso2.com/appmgt/site/blocks/user/login/ajax/login.jag >> <https://apps.cloud.wso2.com/appmgt/site/blocks/user/login/ajax/login.jag> >> -d 'action=login&userName=<username>&password=<password>' * >> >> The result from this command is as follows. >> >> ** Hostname was NOT found in DNS cache* >> ** Trying 54.209.187.16...* >> ** Connected to apps.cloud.wso2.com <http://apps.cloud.wso2.com> >> (54.209.187.16) port 443 (#0)* >> ** successfully set certificate verify locations:* >> ** CAfile: none* >> * CApath: /etc/ssl/certs* >> ** SSLv3, TLS handshake, Client hello (1):* >> ** SSLv3, TLS handshake, Server hello (2):* >> ** SSLv3, TLS handshake, CERT (11):* >> ** SSLv3, TLS handshake, Server key exchange (12):* >> ** SSLv3, TLS handshake, Server finished (14):* >> ** SSLv3, TLS handshake, Client key exchange (16):* >> ** SSLv3, TLS change cipher, Client hello (1):* >> ** SSLv3, TLS handshake, Finished (20):* >> ** SSLv3, TLS change cipher, Client hello (1):* >> ** SSLv3, TLS handshake, Finished (20):* >> ** SSL connection using ECDHE-RSA-AES256-GCM-SHA384* >> ** Server certificate:* >> ** subject: C=US; ST=California; L=Palo Alto; O=WSO2, Inc.; >> CN=*.cloud.wso2.com <http://cloud.wso2.com>* >> ** start date: 2015-05-21 00:00:00 GMT* >> ** expire date: 2018-06-06 12:00:00 GMT* >> ** issuer: C=US; O=DigiCert Inc; OU=www.digicert.com >> <http://www.digicert.com>; CN=DigiCert SHA2 High Assurance Server CA* >> ** SSL certificate verify ok.* >> *> POST /appmgt/site/blocks/user/login/ajax/login.jag HTTP/1.1* >> *> User-Agent: curl/7.35.0* >> *> Host: apps.cloud.wso2.com <http://apps.cloud.wso2.com>* >> *> Accept: */** >> *> Content-Length: 75* >> *> Content-Type: application/x-www-form-urlencoded* >> *> * >> ** upload completely sent off: 75 out of 75 bytes* >> *< HTTP/1.1 200 OK* >> ** Server nginx/1.4.6 (Ubuntu) is not blacklisted* >> *< Server: nginx/1.4.6 (Ubuntu)* >> *< Date: Sun, 21 Jun 2015 08:25:21 GMT* >> *< Content-Type: text/html* >> *< Content-Length: 5* >> *< Connection: keep-alive* >> ** Added cookie JSESSIONID="************************" for domain >> apps.cloud.wso2.com <http://apps.cloud.wso2.com>, path /appmgt/, expire 0* >> *< Set-Cookie: JSESSIONID=****************************; Path=/appmgt/; >> Secure; HttpOnly* >> *< * >> *true* >> ** Connection #0 to host apps.cloud.wso2.com <http://apps.cloud.wso2.com> >> left intact* >> >> >> My code is as follows. >> >> package main >> >> import ( >> "bytes" >> "fmt" >> "net/http" >> ) >> >> func main() { >> client := &http.Client{} >> var query = []byte(`action=login&userName=<username>&password=<password>`) >> r, _ := http.NewRequest("POST", >> "https://apps.cloud.wso2.com/appmgt/site/blocks/user/login/ajax/login.jag", >> bytes.NewBuffer(query)) >> resp, _ := client.Do(r) >> fmt.Println(resp) >> } >> >> >> The result from running the above code is as follows. >> >> *&{200 OK 200 HTTP/1.1 1 1 map[Server:[nginx/1.4.6 (Ubuntu)] Date:[Sun, >> 21 Jun 2015 08:38:38 GMT] Content-Type:[text/html] Connection:[keep-alive] >> Set-Cookie:[JSESSIONID=5820BCE0F4338F90735C9AFE7ED53B95; Path=/appmgt/; >> Secure; HttpOnly]] 0xc208213480 -1 [chunked] false map[] 0xc208026dd0 >> 0xc2081f6060}* >> >> The request fails. I can't seem to find another way to perform this REST >> API call. Does anyone know a better way of implementing this request? >> >> [1] http://golang.org/pkg/net/http/ >> >> Thanks. >> Regards, >> Dilhasha >> >> >> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/> >> (M.N.F.Dilhasha) >> Undergraduate | Department of Computer Science and Engineering >> University of Moratuwa >> Sri Lanka >> >> _______________________________________________ >> Dev mailing list >> Dev@wso2.org >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Thanks and Regards, > > Punnadi Gunarathna > Senior Software Engineer, > WSO2, Inc.; http://wso2.com <http://wso2> > Blog: http://hi-my-world.blogspot.com/ > Tel : 94 11 214 5345 > Fax :94 11 2145300 > > > > <http://lalajisureshika.blogspot.com/> >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev