• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 407
  • Last Modified:

curl using https

I use the following command to get a result code from the web server. If 200, then all is good, if anything else, jump to something else in the script.

function primary_check()
{
        RES="$(curl -m 5 -o /dev/null --silent --head --write-out '%{http_code}\n' $IP1 -o /dev/null)"
        if [ ! $RES -eq 000 ];then
    # return a non empty value if all is good
                echo "GOOD"
        fi
    # don't return if there was an error
}

Open in new window


In the above,
curl -m 5 -o /dev/null --silent --head --write-out '%{http_code}\n' $IP1 -o /dev/null
returns simply 200 which is what I want.

Problem is... I need to start using https instead because I need to set up htpasswd on the server.

I am not having any luck returning only the result code so my question is looking for a solution.

curl -m 5 -k --key server.key --cert server.crt -o /dev/null --silent --head --write-out -u xxxx|xxxxxxx" '%{http_code}\n' server.com -o /dev/null

-u-uHTTP/1.1 200 OK
Date: Mon, 20 Oct 2014 23:21:08 GMT
Server: Apache
Last-Modified: Sat, 02 Aug 2014 01:12:25 GMT
ETag: "2dc00fb-f-4ff9b32d9f040"
Accept-Ranges: bytes
Content-Length: 15
Connection: close
Content-Type: text/html; charset=UTF-8
0
projects
Asked:
projects
  • 10
  • 6
1 Solution
 
GaryCommented:
Double period

server..crt
0
 
projectsAuthor Commented:
Just a typo. I've updated the question. Thanks.
0
 
GaryCommented:
This should just echo the response code

curl -m 5 -k --key server.key --cert server.crt -s -o /dev/null -u "xxxx|xxxxxxx"  -w '%{http_code}\n' https://www.google.com

Open in new window

0
Become an Android App Developer

Ready to kick start your career in 2018? Learn how to build an Android app in January’s Course of the Month and open the door to new opportunities.

 
projectsAuthor Commented:
Using the following;

curl -m 5 -k --key server.key --cert server.crt -s -o /dev/null -w -u "xxxx|xxxxxx" '%{http_code}\n' https://server.com

The response is the single line in the index.html plus what you see in front.

-u-uNothing here!
0
 
projectsAuthor Commented:
Removing to -s to see what's going on... looks like an order of things?

# curl -m 5 -k --key server.key --cert server.crt -o /dev/null -w -u "xxxx|xxxxxx" '%{http_code}\n' https://server.com
curl: (6) Couldn't resolve host 'xxxx|xxxxxx'
curl: (6) Couldn't resolve host '%http_code\n'
-u-uNothing here!
0
 
GaryCommented:
That's not the same as I posted (I may have edited it while you were copying it)
0
 
projectsAuthor Commented:
Your does the same thing but remember, I also don't have any name/passwd to google so it'll fail anyhow.

Yours does return the code however but it's a 000
0
 
GaryCommented:
Uh?
That's just an example, if you press enter on the challenge you'll get the response code (000 - connection cancelled) , but you should be entering your URL and user/pass

Edit
In cygwin you will get 000 in Linux you will get 302
0
 
projectsAuthor Commented:
Yes, I have substituted my own info of course.
That's what I posted above.

Let me check, I bet I've got a typo.
0
 
projectsAuthor Commented:
# curl -m 5 -k --key server.key --cert server.crt -s -o /dev/null -u "xxxx|xxxxxx"  -w '%{http_code}\n' https://server.com
Enter host password for user 'xxxx|xxxxxx':
200



So, the above is what I'm using, with my own certs, name/pass and server of course.
It keeps prompting me for the name/password but does give me a 200 after I hit return.
0
 
projectsAuthor Commented:
This is on Linux.
0
 
GaryCommented:
I shouldn't have relied on your code being right

curl -m 5 -k --key server.key --cert server.crt -u xxxx:xxxxxxx -s -o /dev/null  -w '%{http_code}\n' https://www.google.com

Open in new window

0
 
projectsAuthor Commented:
What does that mean??
0
 
GaryCommented:
This bit
-u xxxx:xxxxxxx

You had
-u xxxx|xxxxxxx
0
 
projectsAuthor Commented:
Yes, I see that too now. I have no idea how that got in there because my code actually uses the semi colon.
Maybe another typo when I was editing the question, sorry.

Works as it should, thanks very much. I'll test it and award shortly.
0
 
projectsAuthor Commented:
curl -m 5 -k --key server.key --cert server.crt -u xxxx:xxxxxxx -s -o /dev/null  -w '%{http_code}\n' https://www.google.com

So same thing, without the authentication
curl -m 5 -s -o /dev/null  -w '%{http_code}\n' https://www.google.com

Cool, that's what I was struggling with. Thanks very much.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 10
  • 6
Tackle projects and never again get stuck behind a technical roadblock.
Join Now