C# 如何在C上使用参数调用JavaScript函数#
我想用HttpWebRequest或C#中的WebRequest调用JavaScript函数。我不想使用我可以调用invokemember的webbrowser 这是我的密码:C# 如何在C上使用参数调用JavaScript函数#,c#,javascript,httpwebrequest,C#,Javascript,Httpwebrequest,我想用HttpWebRequest或C#中的WebRequest调用JavaScript函数。我不想使用我可以调用invokemember的webbrowser 这是我的密码: public void MyWebRequest(string url, string method, string data) { request = WebRequest.Create(url); if (method.Equals("GET") || method.Equals
public void MyWebRequest(string url, string method, string data)
{
request = WebRequest.Create(url);
if (method.Equals("GET") || method.Equals("POST"))
{
// Set the Method property of the request to POST.
request.Method = method;
}
else
{
throw new Exception("Invalid Method Type");
}
string postData = data;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
}
try
是一个JS函数,它有两个int参数。我想调用onclick方法,但是如何将参数传递给函数呢
onclick="try(1,3);"
所以这不是一个开放的问题
WebRequest
本质上是一个“美化”的套接字库,用于建立与web服务器的连接。它只不过是在客户端(使用WebRequest
的应用程序)和承载站点的服务器之间传输数据的一种方式
出于同样的原因,如果查看数据流
(参考您的代码),您只会看到HTML标记,而不会看到实际的布局元素、颜色、样式等,javasript也不会工作。HTML需要一个呈现代理,JavaScript需要一个引擎
因此,如果您需要使用页面上包含的JavaScript,
WebBrowser
是您最好的选择。它将加载运行页面上找到的任何JavaScript所需的任何库/插件。它可能会慢一些,是的,但那是因为它给你的不仅仅是传输数据(它还呈现HTML,执行任何初始化脚本,并绑定到页面定义为美观所必需的任何元素。)所以这不是一个开放式的问题
WebRequest
本质上是一个“美化”的套接字库,用于建立与web服务器的连接。它只不过是在客户端(使用WebRequest
的应用程序)和承载站点的服务器之间传输数据的一种方式
出于同样的原因,如果查看数据流
(参考您的代码),您只会看到HTML标记,而不会看到实际的布局元素、颜色、样式等,javasript也不会工作。HTML需要一个呈现代理,JavaScript需要一个引擎
因此,如果您需要使用页面上包含的JavaScript,
WebBrowser
是您最好的选择。它将加载运行页面上找到的任何JavaScript所需的任何库/插件。它可能会慢一些,是的,但这是因为它给你的不仅仅是传输数据(它还呈现HTML,执行任何初始化脚本,并绑定到页面定义为美观所必需的任何元素。)抱歉,我编辑了我的代码!!我忘了添加一些代码。。现在,javascript函数驻留在您使用WebRequest
获取的页面上,您正在对服务器执行HTTP POST请求。碰巧您在请求中传递了一些JavaScript。您现在是否希望服务器“执行”该代码?如果没有,那么您将收到一个响应,这取决于服务器。如果服务器碰巧用相同的JavaScript代码响应,您是否希望响应会“执行”代码?只是想理解这个问题…@HarunAbi:如果你需要网站的功能,是的,WebBrowser
可能是最好的方式。而且它只是“慢”,因为它必须加载所有插件,如JVM、JS引擎和页面需要的任何其他功能。真的谢谢你,Brad,它太清晰了。。好的,我将使用网络浏览器……)对不起,我编辑了我的代码!!我忘了添加一些代码。。现在,javascript函数驻留在您使用WebRequest
获取的页面上,您正在对服务器执行HTTP POST请求。碰巧您在请求中传递了一些JavaScript。您现在是否希望服务器“执行”该代码?如果没有,那么您将收到一个响应,这取决于服务器。如果服务器碰巧用相同的JavaScript代码响应,您是否希望响应会“执行”代码?只是想理解这个问题…@HarunAbi:如果你需要网站的功能,是的,WebBrowser
可能是最好的方式。而且它只是“慢”,因为它必须加载所有插件,如JVM、JS引擎和页面需要的任何其他功能。真的谢谢你,Brad,它太清晰了。。好的,我将使用网络浏览器……)@哈鲁纳比:很高兴我能帮上忙@哈鲁纳比:很高兴我能帮上忙
onclick="try(1,3);"