C # download the HTML source code of the webpage,
Public static class DownLoad_HTML
{
Private static int FailCount = 0; // record the number of download failures
Public static string GetHtml (string url) // enter the url to download
{
String str = string. Empty;
Try
{
System. Net. WebRequest request = System. Net. WebRequest. Create (url );
Request. Timeout = 10000; // download Timeout
Request. Headers. Set ("Pragma", "no-cache ");
System. Net. WebResponse response = request. GetResponse ();
System. IO. Stream streamReceive = response. GetResponseStream ();
Encoding encoding = Encoding. GetEncoding ("gb2312"); // UTF-8 webpage Text Encoding
System. IO. StreamReader streamReader = new System. IO. StreamReader (streamReceive, encoding );
Str = streamReader. ReadToEnd ();
StreamReader. Close ();
}
Catch (Exception ex)
{
FailCount ++;
If (FailCount> 5)
{
Var result = System. Windows. Forms. MessageBox. Show ("Download failed" + FailCount + "times, do you want to continue? "+ Environment. NewLine + ex. ToString ()," data download exception ", System. Windows. Forms. MessageBoxButtons. YesNo, System. Windows. Forms. MessageBoxIcon. Error );
If (result = System. Windows. Forms. DialogResult. Yes)
{
Str = GetHtml (url );
}
Else
{
System. windows. forms. messageBox. show ("failed to download HTML" + Environment. newLine + ex. toString (), "failed to download HTML", System. windows. forms. messageBoxButtons. OK, System. windows. forms. messageBoxIcon. error );
Throw ex;
}
}
Else
{
Str = GetHtml (url );
}
}
FailCount = 0; // if this step can be performed, the download is successful.
Return str;
}
}
C Language & |! What are
& Is the address fetch operator used to extract the address of a variable.
For example, if you define a variable, the system will allocate a space in the memory during compilation.
The location of the space in the memory is its address. & Extract its address.
E. g int a; assign an address to it during compilation, for example, 2000; & a is 2000.
If an integer pointer Variable p, p = & a; is defined, the address 2000 of a is assigned to p. P = 2000 after running.
Another example is scanf ("% d", & a). When you enter 3, it first knows the address of a according to & a, and finds the space of a in the memory by the address, write 3 to this space.
* Is a pointer operator, which is opposite to &. It extracts the value of a Variable Based on the address of the variable.
For example, * the value of a is 3 of variable.
The following is a summary of the pointer used in the definition and description.
Int * p; defines a pointer to integer data.
Int * p [n]; defines the pointer array p, which consists of n pointer elements pointing to integer data.
Int (* p) [n]; p is the pointer variable pointing to a one-dimensional array containing n elements.
Int * p (); p is the function that returns a pointer pointing to integer data.
Int (* p) (); p is the pointer to the function. This function returns an integer value.
Int ** p; p is a pointer variable that points to an integer Data Pointer variable.
If you want to learn more about the system, you can refer to tan haoqiang's c Programming (the third edition), which is easy to understand. Is a good C language learning material.
C Language & |! What are
& Is the address fetch operator used to extract the address of a variable.
For example, if you define a variable, the system will allocate a space in the memory during compilation.
The location of the space in the memory is its address. & Extract its address.
E. g int a; assign an address to it during compilation, for example, 2000; & a is 2000.
If an integer pointer Variable p, p = & a; is defined, the address 2000 of a is assigned to p. P = 2000 after running.
Another example is scanf ("% d", & a). When you enter 3, it first knows the address of a according to & a, and finds the space of a in the memory by the address, write 3 to this space.
* Is a pointer operator, which is opposite to &. It extracts the value of a Variable Based on the address of the variable.
For example, * the value of a is 3 of variable.
The following is a summary of the pointer used in the definition and description.
Int * p; defines a pointer to integer data.
Int * p [n]; defines the pointer array p, which consists of n pointer elements pointing to integer data.
Int (* p) [n]; p is the pointer variable pointing to a one-dimensional array containing n elements.
Int * p (); p is the function that returns a pointer pointing to integer data.
Int (* p) (); p is the pointer to the function. This function returns an integer value.
Int ** p; p is a pointer variable that points to an integer Data Pointer variable.
If you want to learn more about the system, you can refer to tan haoqiang's c Programming (the third edition), which is easy to understand. Is a good C language learning material.