Solved

curl using https

Posted on 2014-10-20
16
241 Views
Last Modified: 2014-10-20
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
Comment
Question by:projects
  • 10
  • 6
16 Comments
 
LVL 58

Expert Comment

by:Gary
ID: 40393415
Double period

server..crt
0
 

Author Comment

by:projects
ID: 40393420
Just a typo. I've updated the question. Thanks.
0
 
LVL 58

Expert Comment

by:Gary
ID: 40393429
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
 

Author Comment

by:projects
ID: 40393432
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
 

Author Comment

by:projects
ID: 40393435
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
 
LVL 58

Expert Comment

by:Gary
ID: 40393436
That's not the same as I posted (I may have edited it while you were copying it)
0
 

Author Comment

by:projects
ID: 40393437
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
 
LVL 58

Expert Comment

by:Gary
ID: 40393441
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:projects
ID: 40393443
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
 

Author Comment

by:projects
ID: 40393447
# 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
 

Author Comment

by:projects
ID: 40393448
This is on Linux.
0
 
LVL 58

Accepted Solution

by:
Gary earned 500 total points
ID: 40393451
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
 

Author Comment

by:projects
ID: 40393455
What does that mean??
0
 
LVL 58

Expert Comment

by:Gary
ID: 40393456
This bit
-u xxxx:xxxxxxx

You had
-u xxxx|xxxxxxx
0
 

Author Comment

by:projects
ID: 40393464
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
 

Author Comment

by:projects
ID: 40393472
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

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

This Windows batch file is useful for organizing image files from a digital camera or other source, but can have many other uses.  It simply renames the file(s) to match their create date.  For example, if you took a picture today at 1:40pm and the …
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now