Jump to content

Using Curl to retrieve information from Dell Website for multiple PCs


davil

Recommended Posts

Hi all,

 

I'm having a problem retrieving some information from the Dell website.

I want to write the PHP to go through a text file and grab down warranty info etc from the Dell website for each service tag, I can parse the list no problem but first I want to make sure I can get info down for just one machine,

 

I can do it in my browser like so:

 

IF YOU JUST WANT TO GET INFO FROM TAB1 [WARRANTY INFO], USE THIS (replace ABCDEFG with whatever service tag):

http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details?c=us&l=en&s=gen&ServiceTag=ABCDEFG&~wsf=tabs

 

IF YOU JUST WANT TO GET INFO FROM TAB2 [ORIGINAL SYSTEM CONFIGURATION], USE THIS (replace ABCDEFG with whatever service tag):

http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details?c=us&l=en&s=gen&ServiceTag=ABCDEFG&~tab=2&~wsf=tabs

 

 

but when I use curl.exe (I'm on Windows) it just gives me HTML of a page requesting the service tag again.

 

As you will see in my code I tried spoofing my user agent, but with no luck.

 

<?php

// spoofing Useragent 
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"; 
$useragent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.9 (KHTML, like Gecko) Chrome/6.0.400.0 Safari/533.9";
$useragent="Mozilla/5.0 (Windows; U; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
//I've tried all of these strings, but to no avail

$serial='abcdefg-replacewithyourownserialnumber';
$url="http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details?c=us&l=en&s=gen&ServiceTag=$serial&~tab=2&~wsf=tabs";

$stringtosend="curl --user-agent \"$useragent\" -0 $url";

$txt=shell_exec($stringtosend);
echo $txt;
?>

 

also the reason I'm using curl.exe and not PHP's curl classes is because I'm behind a proxy and was able to use "proxifier" to re-route curl.exe requests but couldn't get PHP working the same way (tried php.exe , should I have tried apache.exe? )

 

anyway if anybody knows why the page would react differently to curl than it would in browser , any help is much appreciated.

Thanks

Link to comment
Share on other sites

  • 2 weeks later...

In the end I figured out the way to set the proxy before using PHP's proper curl, and it worked. sorry.

 

The following code reads the info into a variable , $x

 

$ch = curl_init("http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details?c=us&l=en&s=gen&ServiceTag=$serial&~tab=2&~wsf=tabs"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_PROXY, "http://10.10.10.10:80");   // Where 10.10.10.10 is the proxy IP and 80 is the port
curl_setopt($ch, CURLOPT_PROXYPORT, 80);   // Dunno why port 80 is set twice, but I copied this code and it works great
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "myusername:mypassword"); 
$x = curl_exec($ch);

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.