I am trying to access the following URL using cURL:
http://bizsearch.penrithcity.nsw.gov.au/eplanning/Pages/XC.Track/SearchApplication.aspx
However, when I attempt to access the web page I am redirected to:
http://bizsearch.penrithcity.nsw.gov.au/eplanning/Common/Common/terms.aspx
I tried utilizing the following cURL command to get passed this:
curl --cookie-jar "CookieTest.txt" url(common terms) -d "ctl00$ctMain1$chkAgree$chk1=on&ctl00$ctMain1$BtnAgree=I Agree"
curl --cookie "CookieTest.txt" url(search application)
Any help would be greatly appreciated as I am new to cURL and am having difficulty troubleshooting. I am wanting to pull the XML from the search application page.
Related
I have an api to export some information to a csv file. The API is correct and it is downloading my file when I access it from the browser. I need to access this API from the terminal and download the file without having to go to the browser.
My route for the API looks like this:
Route::get('/api/file/export', 'File\FileController#export', [
'middleware'=>'auth.basic'
]);
I tried using curl like this:
curl --user email:password http://example.com/api/file/export
I have tried different curl commands but each of then displays the redirect to login html. When I use -O the command for downloading a file, it downloads a file that has the redirect to login link.
curl --user email:password -O http://example.com/api/file/export
Am I calling the API correctly? How else can I access the API from the terminal?
You should first be logged in your website. You can try this:
curl --user email:password http://domain.tld/login_page
And then use the cookies for your second request:
curl --cookie http://domain.tld/file/to/export
If that is not working, you need to do the whole submit action with cURL, meaning doing POST request with email and password etc.
Someone gave a good solution here
PS: Checkout if you don't need a token to request your API too.
I am creating an API using Laravel and Apache as the backend. My predicament is this, when I type a curl command in my terminal like,
curl -H "API KEY: NIKAPIKEY" --data "param1=value1¶m2=value2" http://localhost:8888/awesome-calendar/public/config
How do I read the header API KEY in my php backend? Like I can read the POST parameters as $_REQUEST.
Answered by #nogad
The function apache_request_headers acts like the var_dump for all HTTP headers
http://php.net/manual/en/function.apache-request-headers.php
So far, I have seen numerous examples on how to PUT a file in a Tika server using curl. For example from the Tika wikipage documentation we can conclude that if your file is in location
"file:///var/www/html/files/a.pdf"
in your machine and the Tika server runs on
http://localhost:9998
then using curl you can do a
curl -s "file:///var/www/html/files/a.pdf" | curl -X PUT -T - http://localhost:9998/meta
to get the metadata.
However, I haven't seen an example where the complete URI is given that makes the above JAXRS tika server providing the same result as the curl command above but showing the result in my browser this time and not on the terminal.
So, say I am visiting on my browser the tika server URI:
http://localhost:9998
what do I have to append to this URI in order to get the metadata like the curl command in my browser?
Thank you forum
The answer is in the curl command in your question:
curl -s "file:///var/www/html/files/a.pdf" | curl -X PUT -T - http://localhost:9998/meta
The URL you need to put to is at the end - http://localhost:9998/meta
You can also find all the endpoints in a Tika server from the listing linked from the welcome page when you go to the server with your web browser, and from Tika Wika Page for the Server
I have a page (realized with a php framework) that add records in a MySQL db in this way:
www.mysite.ext/controller/addRecord.php?id=number
that add a row in a table with the number id passed via post and other informations such as timestamp, etc.
So, I movedo my eintire web applicazione to another domain and all HTTP requests works fine from old to new domain.
Only remaining issue is the curl: I wrote a bash script (under linux) that run curl of this link. Now, obviously it does not works because curl returns an alert message in which I read the page was moved.
Ok, I edited the curl sintax in this way
#! /bin/sh
link="www.myoldsite.ext/controlloer/addRecord.php?id=number"
curl --request -L GET $link
I add -L to follow url in new location but curl returns the error I wrote in this topic title.
It would be easier if I could directly modify the link adding the new domain but I do not have physical access to all devices.
GET is the default request type for curl. And that's not the way to set it.
curl -X GET ...
That is the way to set GET as the method keyword that curl uses.
It should be noted that curl selects which methods to use on its own depending on what action to ask for. -d will do POST, -I will do HEAD and so on. If you use the --request / -X option you can change the method keyword curl selects, but you will not modify curl's behavior. This means that if you for example use -d "data" to do a POST, you can modify the method to a PROPFIND with -X and curl will still think it sends a POST. You can change the normal GET to a POST method by simply adding -X POST in a command line like:
curl -X POST http://example.org/
... but curl will still think and act as if it sent a GET so it won't send any request body etc.
More here: http://curl.haxx.se/docs/httpscripting.html#More_on_changed_methods
Again, that's not necessary. Are you sure the link is correct?
I'm new to recess framework. Some how I have created RESTful web services with json. and my URL is like this
" curl -X POST http://www.example.com/example/skill.json -d {"skill":"name":"SuckingUp","jobCategory_id":"1","creator":"dwayne#test.com"},"u":"dwayne#test.com","p":"foo"}' ".
My question is how we can implement in our code or we can call from other application or we can integrate as web service. How we can call with cURL?.
I have no idea where I have to write the code.
I got stuck, please help me let out this.
Thanks,
Soeb
You can reach me # nasir_1823#yahoo.co.in
it sounds like you're looking for this:
http://php.net/manual/en/function.system.php
You use that command to call cURL in the system, and pass it whatever command line arguments you wish to execute.