How I can get web page's content and save it into the string variable
You can use the WebClient
Using System.Net;
using(WebClient client = new WebClient()) {
string downloadString = client.DownloadString("http://www.gooogle.com");
}
PHP: how can I load the content of a web page into a variable?
Provided allow_url_fopen
is enabled, you can just use file_get_contents
:
$my_var = file_get_contents('http://yoursite.com/your-page.html');
And, if you need more options, take a look at Stream Functions -- there is an example on the stream_context_create
manual page where a couple of HTTP-headers are set.
If allow_url_fopen
is disabled, another solution is to work with curl -- means a couple more lines of code, though.
Something as basic as this should work in the simplest situations :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://stackoverflow.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$my_var = curl_exec($ch);
curl_close($ch);
But note that you might need some additional options -- see the manual page of curl_setopt
for a complete list.
For instance :
- I often set
CURLOPT_FOLLOWLOCATION
, so redirects are followed. - The tiemout-related options are quite often useful too.
How to download a web page into a variable?
Using Indy:
uses IdHTTP;
const
HTTP_RESPONSE_OK = 200;
function GetPage(aURL: string): string;
var
Response: TStringStream;
HTTP: TIdHTTP;
begin
Result := '';
Response := TStringStream.Create('');
try
HTTP := TIdHTTP.Create(nil);
try
HTTP.Get(aURL, Response);
if HTTP.ResponseCode = HTTP_RESPONSE_OK then begin
Result := Response.DataString;
end else begin
// TODO -cLogging: add some logging
end;
finally
HTTP.Free;
end;
finally
Response.Free;
end;
end;
Load page content to variable
This is a modified version of an example you can find at w3schools.com.
<script type="text/javascript">
function loadXMLDoc(theURL)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari, SeaMonkey
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET", theURL, false);
xmlhttp.send();
}
</script>
So just make "example.html" be any sort of path (relative or absolute) to the page you want to load, and xmlhttp.responseText
will be a string containing the response content. You can also use xmlhttp.responseXML
if you want it to be stored as a traversable XML document. Anyway, just assign either of those to a variable of your choice, and you will have it!
Note that 'loadXMLDoc' does not return anything directly but defines one of its members ('onreadystatechange') to do that job, and to does it only in certain condition (readyState and status). Conclusion - do not assign the output of this function to any var. Rather do something like:
var xmlhttp=false;
loadXMLDoc('http://myhost/mycontent.htmlpart');
if(xmlhttp==false){ /* set timeout or alert() */ }
else { /* assign `xmlhttp.responseText` to some var */ }
Without that, all one can see is 'undefined'...
How to use PHP to get a webpage into a variable
Use CURL.
<?php
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "example.com");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// set the UA
curl_setopt($ch, CURLOPT_USERAGENT, 'My App (http://www.example.com/)');
// Alternatively, lie, and pretend to be a browser
// curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
?>
(From http://uk.php.net/manual/en/curl.examples-basic.php)
Related Topics
Why Does Timespan.Parseexact Not Work
Winforms Radiobuttonlist Doesn't Exist
Center Multiple Rows of Controls in a Flowlayoutpanel
Is There Any JSON Web Token (Jwt) Example in C#
Units of Measure in C# - Almost
Differencebetween a C# Reference and a Pointer
Compare Two Lists for Differences
How to Handle Add to List Event
How Do Closures Work Behind the Scenes? (C#)
Best Way to Find All Factors of a Given Number
How to Keep Console Window Open
Does Entity Framework 4 Code First Have Support for Identity Generators Like Nhibernate
An Object Reference Is Required for the Non-Static Field, Method, or Property
Expression.Lambda and Query Generation at Runtime, Simplest "Where" Example
How to Align Text in Columns Using Console.Writeline