Solved

Send user name and pw to server

Posted on 1998-12-06
12
161 Views
Last Modified: 2013-12-25
Hello,
I'm writing a perl script that should save an EE question to my hard disk (for practice. not sure I'll ever use it...). Now, I'm opening sockets and downloading and everything. The problem is that I must supply user name and password.

This is what I've tried:
print SOCKET "GET $page 1.0\nAuthorization: martinag password\n\n";

(no, that isn't my real password...:-))

I've tried a few solutions like this but I can't find the format to use when supplying user name and password.
Could you help me?

And by the way, is this secure? Is it just as secure as when I enter the information in my browser or should I do something (like using crypt) to get it more secure?

Martin
0
Comment
Question by:martinag
  • 7
  • 3
  • 2
12 Comments
 
LVL 4

Author Comment

by:martinag
ID: 1830012
I've found something at ftp://ftp.ietf.org/internet-drafts/draft-ietf-http-authentication-03.txt about the Authentication-Info header. I guess I should use it, but I don't understand anything of it...

Martin
0
 
LVL 4

Author Comment

by:martinag
ID: 1830013
Ok, think I've understood a bit now...
I think I should
  print SOCKET "GET $page 1.0\nAuthorization: Basic $info\n\n";
where $info is "martinag:password", base64 encoded.

But how do I base64 encode?

Martin
0
 
LVL 7

Expert Comment

by:jconde
ID: 1830014
Hi, in order to do that you must
do the following:

fprintf (socket, "POST /your/page HTTP/1.0\n");
sprintf (tmp,"Authorization: Basic %s\n\n",base64_encode("username:password"));
fprintf (socket, tmp);

0
 
LVL 4

Author Comment

by:martinag
ID: 1830015
Where do I find base64_encode?

Martin
0
 
LVL 4

Author Comment

by:martinag
ID: 1830016
Your code seems like C. Is it? I'm using Perl...

Anyone know about a base 64 function for Perl?

Martin
0
 
LVL 5

Expert Comment

by:b2pi
ID: 1830017
perldoc MIME::Base64

(part of the LWP package, I think)

0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 7

Expert Comment

by:jconde
ID: 1830018
Yes it is b2pi, its part of LWP :)
0
 
LVL 4

Author Comment

by:martinag
ID: 1830019
Ok, I visited www.perl.com and looked up LWP but I didn't find any MIME (not even Base64). Anyone got a URL?

Martin
0
 
LVL 5

Expert Comment

by:b2pi
ID: 1830020
0
 
LVL 4

Author Comment

by:martinag
ID: 1830021
I'll give the points to b2pi.

Great url you gave me. I've always wondered where to download all those modules.
BTW, it was http://perl.com/cgi-bin/cpan_mod?module=MIME::Base64 :-)

Martin
0
 
LVL 5

Accepted Solution

by:
b2pi earned 50 total points
ID: 1830022
Great.  I love the multiplexor (in spite of my poor cut and paste skills) It also has the advantage of trying to find a server that's geographically (or at least network-wise) 'near' you, in order to increase speed.  You can get more info about it at http://language.perl.com/news/cpan-mux.html, and the source is at http://language.perl.com/misc/cpan_module

0
 
LVL 4

Author Comment

by:martinag
ID: 1830023
Thanks!

Martin
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

If you get a (Blue Screen of Death), your system writes a small file called a minidump. Your first step is to make certain your computer is setup to record memory dumps. Right click My Computer, choose properties. Click on the advanced tab, an…
In this tutorial I will show you how to provide a dynamic RTF document on your website generated with data from your database. For this tutorial you will need Microsoft Word or WordPad, WhizBase and Microsoft Access. In this tutorial I will show …
Learn the basics of if, else, and elif statements in Python 2.7. Use "if" statements to test a specified condition.: The structure of an if statement is as follows: (CODE) Use "else" statements to allow the execution of an alternative, if the …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

708 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

16 Experts available now in Live!

Get 1:1 Help Now