If you look at my sample code, you should know I only send one request by 
http.POST, the following request is done by golang http client automaticly, 
not issue by myself. 

You got the point , why the http client do that without cookie from last 
response, that's what I am asking

在 2018年9月12日星期三 UTC+8下午2:52:20,Volker Dobler写道:
>
> On Wednesday, 12 September 2018 06:28:12 UTC+2, Weeds Qian wrote:
>>
>> What did you expect to see?
>>
>> the cookie in response
>> What did you see instead?
>>
>> no cookie in response
>>
>>
>> ------------------http tcp stream from wireshark 
>> -----------------------------
>>
>> You can see that I only do the POST /login and the later is execute by 
>> http client implementation.
>>
>> From my point of view, I think the GET /home.html request should add the 
>> cookie from last response, but it didn't, since you don't do that, why 
>> don't just return the response to me instead of doing useless request cause 
>> we go the login page.
>>
>> POST /login HTTP/1.1
>> Host: 127.0.0.1:8081
>> User-Agent: Go-http-client/1.1
>> Content-Length: 28
>> Content-Type: application/x-www-form-urlencoded
>> Accept-Encoding: gzip
>>
>> username=admin&password=testHTTP/1.1 302 Found
>> Location: /home.html
>> Set-Cookie: 
>> user=MTUzNjY1NjA2MXxEdi1CQkFFQ180SUFBUkFCRUFBQUpfLUNBQUVHYzNSeWFXNW5EQW9BQ0hWelpYSnVZVzFsQm5OMGNtbHVad3dIQUFWaFpHMXBiZz09fKI-QQWYHP_ZywpgkIoDmTzL1eJhd7pk-i9FSUgwI89E;
>>  Path=/; HttpOnly
>> Date: Tue, 11 Sep 2018 08:54:21 GMT
>> Content-Length: 0
>>
>>  
> There is your cookie.
>
> The problem is not that the cookie is not part of the response
> you get from /login but that you do not keep the cookie and
> send it on subsequent requests:
>
>>
>> GET /home.html HTTP/1.1
>> Host: 127.0.0.1:8081
>> User-Agent: Go-http-client/1.1
>> Content-Type: application/x-www-form-urlencoded
>> Referer: http://127.0.0.1:8081/login
>> Accept-Encoding <http://127.0.0.1:8081/loginAccept-Encoding>: gzip
>>
>>
> You see: No Cookie header here.
>
> To record Set-Cookie headers and generate appropriate Cookie headers
> from these set cookies you probably should use your own instance of
> net/http.Client with a non-nil Jar and use that client to Do a POST 
> request.
> You can create a Jar via net/http/cookiejar.New.
> If you are going to use this on arbitrary domains please consider setting
> the Jar's PublicSuffixList to e.g. golang.org/x/net/publicsuffix.List
>
> V.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to