Link to home
Start Free TrialLog in
Avatar of icb01co2
icb01co2

asked on

HTTP response help!!! i got 3hrs!!! Think im gonna cry :-)

Hi all,

    I am using a maping company to display interactive maps on my site. They offer routing and proximity searches and the way they work is that you pass information to a url and it returns a location_id or a routing_id which you then include in a applet.

The problem is i'm a newbie, i dont know how to use the HTTP response as a variable. i.e.

if i open a browser and pass the url : -

themapcompany?street=$street&city=$city ...etc

then a location_id is returned to the screen. But i need to get that information as a variable, how?

Oh yeah and i have 3hrs to do this so i'm panicing.

Thanks, Chris.
Avatar of alskdj80
alskdj80

ok, im not sure... but i think you're using an applet (if you're using jsp or php it would be alot easier)

anyways, in your applet (probably in your init() function), you can just do:
String myStreet = searchparms.get("street");
String myCity = searchparms.get("city");
... etc...

and then you can use these variables to get your location_id

(i think this is your question, if not, ive completely misunderstood)
oh, dear, i completely forgot about the most important part, which is the function that actually does it, hahaha, whoops

ok, i'll type it out more clearly, with code.... hmm, actually, it seems that theres this exact thing online...

http://www.rgagnon.com/javadetails/java-0049.html
Avatar of icb01co2

ASKER

ok im not really descriping this clearly.

- if i opened a url i.e.

http://www.somesite.php?id=5;

and this would print to the screen the following: -

"1 | this is line one"


what i need to do is not to actually type the url into a browser but to use some php method that uses the url as an argument and returns what would be printed to the screen. i.e.

$from_url = someMethod("http://www.somesite.php?id=5");

here $from_url would equal "1 | this is line one".

Thanks, Chris.



hmm, im still rather unclear about what you want...

what i think you need is just to get the URL address thats in the browser window and put it into a function??

anyways, to get the complete URL, just do
<?php
$url = "http://".$_SERVER["HTTP_HOST"].$_SERVER['SCRIPT_NAME' ];

//then put into function
$from_url = someMethod($url);
?>
hmm, i forgot about your query strings... ok, ignore the prev post...

<?php
$url = "http://".$_SERVER["HTTP_HOST"].$_SERVER['SCRIPT_NAME' ].$_SERVER['QUERY_STRING'];

//then put into function
$from_url = someMethod($url);
?>

the extra "$_SERVER['QUERY_STRING']" will handle the query strings
of course, i may be way off on what i think you want... either way, let me know, thanks!
lol, erm i am probably the worse person to explain anything. But no i don't need to know how to retrive url information, i know how to do all that.

Here ill just show you: -

ive made a simple .php file called extract.php which outputs some numbers depending on what you pass to it i.e.

http://www.pitmanskills.com/extract.php?number=6

will return:

show me how you extract this number | 36
show me how you extract this number | 144

Basically i would like to know how you would get those numbers '36' and '144' and use them as .php variables by using some function that gets three response generated by my script. I think
fsockopen() is something like what i need but i dont know how to use it?

Thanks, Chris.




oh, i see... so the map website is not your own but rather something like mapquest?... you want to send in a url and then when they display on their site something like "location_id is 123" (in html), then you want to somehow get 123?

is that what you mean?
ASKER CERTIFIED SOLUTION
Avatar of dufduf
dufduf

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
<?
$c=curl_init("url_goes_here");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$data=curl_exec($c)
curl_close($c);
?>

will put whatever is at that url into $data
When you make a HTTP POST to the Map website, it will always return a response that is a string.  I'm not way too familiar with PHP, but there is definitely an HTTP object included in it's API.

What you need to do is make a web request to the URL including your custom query strings and then capture the response.  The object you make the HTTP POST with should have a way to get a response or actually contain the response text itself.  From there, you can parse out what you are expecting back.

Parsing should be easy to do..  Once you have the response as a string.. Maybe the website returns you
"location_id=444533434&mapid=23232323&zoom=22"

You can split the string based on & to get these values in a string array
Array Item 1 : location_id=444533434
Array Item 2 : mapid=23232323
Array Item 3 : zoom=22

You can split each of those results based on the equals sign.  For example with item 1 above:
Array Item 1: location_id
Array Item 2: 444533434

This will work great with name/pair values.  If the response is encoded with parity or encrypted, it will of course have to be decode/decrypted.

Hope this helps
Sorry for the late response guys, but your answers were exactly what i needed.