Sponsored Content
Full Discussion: Submit using curl
Operating Systems Linux Ubuntu Submit using curl Post 302427064 by m1xram on Thursday 3rd of June 2010 05:36:46 PM
Old 06-03-2010
cookies and javascript

Ran Wireshark (WS) and found out a couple things.
  1. You must be registered.
  2. It does use cookies.
  3. JavaScript generates a random ID.
  4. Upload file is multipart MIME format.
  5. Intermediate results for upload progress send JavaScript.
  6. Upload failed as I'm not registered and possibly the input file is incomplete.
I've attached the WS output as plain text. Sorry but it doesn't include the initial page request, just the submission of defaults with the input file you provided. Also set WS to only display HTTP messages. See attached file 'test15-ws-out.txt'

Using curl to accomplish this function appears to be rather complex. You'll have to simulate the JavaScript random ID to execute the "GET /kag_link_upload.php?rnd_id=1275597861022". You may be able to skip the upload progress "GET /kag_set_progress.php?upload_id=151cf1b0cd09e4cbd4fea32148619618" but you'll have to do MIME encoding on the "POST /cgi-bin/kag_upload.pl?upload_id=151cf1b0cd09e4cbd4fea32148619618" for the file. In each case you must set the proper "http.referer", probably provide a "http.user_agent" value which the site likes, and include the proper cookies.

A couple HTTP packets later my upload fails, so the rest of the trace isn't that relavent except in how to handle errors.

This task to fake this web browser app seems non-trivial to me. On How To Use APPS page it describes a way to upload the file to their FTP server where it will be automatically processed. An FTP transaction would be much easier to implement but you'll have to email them for login details. The other solution is to automate an email and FTP upload which seems to be a bit of a pain compaired to just FTPing a file.
This User Gave Thanks to m1xram For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to submit cron jobs?

How can I write a script to submit a perl script as a cron job but only have it execute once? After it has executed once, I would like it to automatically insert itself again into cron. I want to avoid the situation where I schedule a cron job to run once a day, but end up with multiple... (4 Replies)
Discussion started by: siegfried
4 Replies

2. Shell Programming and Scripting

Cannot submit a background job

Hi all, I am currently facing a problem when i am submitting a script to run in the background to collect statistics round the clock on an AIX box. I don't have root authority nor can I set it in cron. So when i submit the job, it runs fine, but won't let me signoff. It prompts me that... (2 Replies)
Discussion started by: tansha
2 Replies

3. Forum Support Area for Unregistered Users & Account Problems

cant submit anything

hello admins, i dont use unix.com very often - but when i do have questions, i submit them at the site - but now I cannot submit anything in any forum on the site. The is the only forum i could add a new thread. its tells me that my account could be de-righted, or that im tring to submit... (1 Reply)
Discussion started by: congo
1 Replies

4. News, Links, Events and Announcements

where to submit my work?

Hello sir, I worked out some features using java,shell programming and modified the bash shell. We have come up with 13 new features. I want to know where should I submit my work so that it would be of some use to the open source professionals :confused: (1 Reply)
Discussion started by: nsharath
1 Replies

5. Post Here to Contact Site Administrators and Moderators

Where to submit my scripts

have a doubt. Where I can submit shell scripts done by me ? (5 Replies)
Discussion started by: linuxadmin
5 Replies

6. UNIX for Dummies Questions & Answers

how to submit several commands together

Dear all, I have a simple question. I have many cut commands like below to run. I am wondering how to just type and submit all the commands at once and then each of the command will be run automaticaly one by one. Thanks a lot! cut -d ' ' -f 3-2002 ... (4 Replies)
Discussion started by: forevertl
4 Replies

7. Shell Programming and Scripting

Using cURL to submit a post form

I am trying to write a shell script to use curl in order to automate downloading data from a website. The URL with the post form is here: http://try-db.org/de/InfoBySpecies.php . I have a list of about 1800 different species I want to check. For Example, choose the first species and use the... (2 Replies)
Discussion started by: hansvg
2 Replies

8. Shell Programming and Scripting

Can't submit a form.

hello my script is submitting POST-data to a site (its not my first script, i've done these before many times (include parsing scripts) but this one is tough) so the problem is i'm submitting a form with firefox and in firebug i see WHAT exactly i'm submitting then when i do EXACTLY the... (28 Replies)
Discussion started by: tip78
28 Replies

9. Shell Programming and Scripting

Curl to hit the submit button

Hello, I am looking to hit a URL using curl and click on submit button so that I can get the results. The below is the code <input name="tos_accepted" id="tos_accepted" class="button" type="submit" value="Yes, I Agree"/> <input name="tos_discarded" id="tos_discarded"... (1 Reply)
Discussion started by: Kochappa
1 Replies
HTTP::Request::Common(3)				User Contributed Perl Documentation				  HTTP::Request::Common(3)

NAME
HTTP::Request::Common - Construct common HTTP::Request objects SYNOPSIS
use HTTP::Request::Common; $ua = LWP::UserAgent->new; $ua->request(GET 'http://www.sn.no/'); $ua->request(POST 'http://somewhere/foo', [foo => bar, bar => foo]); DESCRIPTION
This module provide functions that return newly created HTTP::Request objects. These functions are usually more convenient to use than the standard HTTP::Request constructor for these common requests. The following functions are provided. GET $url, Header => Value,... The GET() function returns a HTTP::Request object initialized with the GET method and the specified URL. Without additional arguments it is exactly equivalent to the following call HTTP::Request->new(GET => $url) but is less cluttered. It also reads better when used together with the LWP::UserAgent->request() method: my $ua = new LWP::UserAgent; my $res = $ua->request(GET 'http://www.sn.no') if ($res->is_success) { ... You can also initialize header values in the request by specifying some key/value pairs as optional arguments. For instance: $ua->request(GET 'http://www.sn.no', If_Match => 'foo', From => 'gisle@aas.no', ); A header key called 'Content' is special and when seen the value will initialize the content part of the request instead of setting a header. HEAD $url, [Header => Value,...] Like GET() but the method in the request is HEAD. PUT $url, [Header => Value,...] Like GET() but the method in the request is PUT. POST $url, [$form_ref], [Header => Value,...] This works mostly like GET() with POST as the method, but this function also takes a second optional array or hash reference parameter ($form_ref). This argument can be used to pass key/value pairs for the form content. By default we will initialize a request using the "application/x-www-form-urlencoded" content type. This means that you can emulate a HTML <form> POSTing like this: POST 'http://www.perl.org/survey.cgi', [ name => 'Gisle Aas', email => 'gisle@aas.no', gender => 'M', born => '1964', perc => '3%', ]; This will create a HTTP::Request object that looks like this: POST http://www.perl.org/survey.cgi Content-Length: 66 Content-Type: application/x-www-form-urlencoded name=Gisle%20Aas&email=gisle%40aas.no&gender=M&born=1964&perc=3%25 The POST method also supports the "multipart/form-data" content used for Form-based File Upload as specified in RFC 1867. You trigger this content format by specifying a content type of 'form-data' as one of the request headers. If one of the values in the $form_ref is an array reference, then it is treated as a file part specification with the following interpretation: [ $file, $filename, Header => Value... ] The first value in the array ($file) is the name of a file to open. This file will be read and its content placed in the request. The routine will croak if the file can't be opened. Use an "undef" as $file value if you want to specify the content directly. The $file- name is the filename to report in the request. If this value is undefined, then the basename of the $file will be used. You can spec- ify an empty string as $filename if you don't want any filename in the request. Sending my ~/.profile to the survey used as example above can be achieved by this: POST 'http://www.perl.org/survey.cgi', Content_Type => 'form-data', Content => [ name => 'Gisle Aas', email => 'gisle@aas.no', gender => 'M', born => '1964', init => ["$ENV{HOME}/.profile"], ] This will create a HTTP::Request object that almost looks this (the boundary and the content of your ~/.profile is likely to be differ- ent): POST http://www.perl.org/survey.cgi Content-Length: 388 Content-Type: multipart/form-data; boundary="6G+f" --6G+f Content-Disposition: form-data; name="name" Gisle Aas --6G+f Content-Disposition: form-data; name="email" gisle@aas.no --6G+f Content-Disposition: form-data; name="gender" M --6G+f Content-Disposition: form-data; name="born" 1964 --6G+f Content-Disposition: form-data; name="init"; filename=".profile" Content-Type: text/plain PATH=/local/perl/bin:$PATH export PATH --6G+f-- If you set the $DYNAMIC_FILE_UPLOAD variable (exportable) to some TRUE value, then you get back a request object with a subroutine clo- sure as the content attribute. This subroutine will read the content of any files on demand and return it in suitable chunks. This allow you to upload arbitrary big files without using lots of memory. You can even upload infinite files like /dev/audio if you wish; however, if the file is not a plain file, there will be no Content-Length header defined for the request. Not all servers (or server applications) like this. Also, if the file(s) change in size between the time the Content-Length is calculated and the time that the last chunk is delivered, the subroutine will "Croak". SEE ALSO
HTTP::Request, LWP::UserAgent COPYRIGHT
Copyright 1997-2000, Gisle Aas This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. libwww-perl-5.65 2001-01-05 HTTP::Request::Common(3)
All times are GMT -4. The time now is 10:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy