mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
8ed44e8dfb
with Digest or NTLM. libcurl will now use HEAD to negotiate the authentication and when done perform the requested POST.
115 lines
3.2 KiB
Plaintext
115 lines
3.2 KiB
Plaintext
# Server-side
|
|
<reply>
|
|
<servercmd>
|
|
auth_required
|
|
</servercmd>
|
|
<data>
|
|
HTTP/1.1 401 NTLM Authorization Required swsclose
|
|
Server: Apache/1.3.27 (Darwin) PHP/4.1.2
|
|
WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
|
|
WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
|
|
WWW-Authenticate: NTLM
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Connection: close
|
|
|
|
moo
|
|
</data>
|
|
|
|
# This is supposed to be returned when the server gets a first
|
|
# Authorization: NTLM line passed-in from the client
|
|
<data1001>
|
|
HTTP/1.1 401 Type-1 received, send back type-2
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Length: 34
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
|
|
|
|
This is not the real page either!
|
|
</data1001>
|
|
|
|
# This is supposed to be returned when the server gets the second
|
|
# Authorization: NTLM line passed-in from the client
|
|
<data1002>
|
|
HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
|
|
Finally, this is the real page!
|
|
</data1002>
|
|
|
|
<datacheck>
|
|
HTTP/1.1 401 NTLM Authorization Required swsclose
|
|
Server: Apache/1.3.27 (Darwin) PHP/4.1.2
|
|
WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
|
|
WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
|
|
WWW-Authenticate: NTLM
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
Connection: close
|
|
|
|
HTTP/1.1 401 Type-1 received, send back type-2
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Length: 34
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
|
|
|
|
HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
|
|
Server: Microsoft-IIS/5.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
|
|
Finally, this is the real page!
|
|
</datacheck>
|
|
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<name>
|
|
HTTP PUT with --anyauth authorization (picking NTLM)
|
|
</name>
|
|
<command>
|
|
http://%HOSTIP:%HOSTPORT/155 -T log/put155 -u testuser:testpass --anyauth
|
|
</command>
|
|
<file name="log/put155">
|
|
This is data we upload with PUT
|
|
a second line
|
|
line three
|
|
four is the number of lines
|
|
</file>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<strip>
|
|
^User-Agent:.*
|
|
</strip>
|
|
<protocol>
|
|
HEAD /155 HTTP/1.1
|
|
Host: 127.0.0.1:8999
|
|
Pragma: no-cache
|
|
Accept: */*
|
|
|
|
HEAD /155 HTTP/1.1
|
|
Authorization: NTLM TlRMTVNTUAABAAAAAgIAAAAAAAAgAAAAAAAAACAAAAA=
|
|
Host: 127.0.0.1:8999
|
|
Pragma: no-cache
|
|
Accept: */*
|
|
|
|
PUT /155 HTTP/1.1
|
|
Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEgAAAAYABgAYAAAAAAAAABAAAAACAAIAEAAAAAAAAAASAAAAAAAAAB4AAAAAYIAAHRlc3R1c2VyWmRDApEJkUyGOPS3DjvASModEeW/N/FBqYVyF4y6/y/7F6qmEQ7lXjXFF3tH1145
|
|
User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
|
|
Host: 127.0.0.1:8999
|
|
Pragma: no-cache
|
|
Accept: */*
|
|
Content-Length: 85
|
|
Expect: 100-continue
|
|
|
|
This is data we upload with PUT
|
|
a second line
|
|
line three
|
|
four is the number of lines
|
|
</protocol>
|
|
</verify>
|