c#和java之间webrequests的差异

时间:2016-04-24 21:48:55

标签: java c# webrequest

我在C#和Java中向网页发送请求但我得到了不同的结果。

我在C#中的代码:

import com.sun.jna.Library;
import com.sun.jna.Native; 
import com.sun.jna.platform.win32.Kernel32;

// JNA infrastructure import libs.Kernel32; 
// Proxy interface for kernel32.dll 

public class JnaTests {

private static Kernel32 kernel32 = (Kernel32)                    
Native.loadLibrary ("kernel32",   Kernel32.class);

private static void toMorseCode(String letter) throws Exception { 
 for (byte b : letter.getBytes()) { 
  kernel32.Beep(1200, ((b == '.') ? 50 : 150)); 
  Thread.sleep(50); 
 }  
} 

public static void main(String[] args) throws Exception { 
 String helloWorld[][] = { {"....", ".", ".-..", ".-..", "---"}, 
 {".--",  "---", ".-.", ".-..", "-.."}}; 

for (String word[] : helloWorld) { 
 for (String letter : word) { 
  toMorseCode(letter); 
  Thread.sleep(150); 
 } 
 Thread.sleep(350); 
}

我的Java代码:

在C#中,响应是正确的,我得到与网络相同的HTML 但是在Java中,我得到了this HTML

为什么存在差异,如何解决?

更新: 这是修改后的java代码:

WebRequest request = WebRequest.Create("https://www.youtube.com/results?search_query=123");
request.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);

// Read the content.
string responseFromServer = reader.ReadToEnd();

// Display the content.
Console.WriteLine(responseFromServer);
response.Close();

但仍然有不同的反应

0 个答案:

没有答案