hi
i have that code:
using System;
using System.Collections.Generic;
using System.Net.Sockets;
namespace jan.utils
{
public class HttpClient
{
private int mPort = 0;
private String mServer = null;
public HttpClient()
{
}
public void init(String aServer, int aPort)
{
mPort = aPort;
mServer = aServer;
}
public String doGETRequest(String aRemoteScript, NameValuePair[] aNameValuePairArr)
{
TcpClient mTcpClient = new TcpClient();
mTcpClient.Connect(mServer, mPort);
String ret = "";
using (NetworkStream ns = mTcpClient.GetStream())
{
System.IO.StreamWriter sw = new System.IO.StreamWriter(ns);
System.IO.StreamReader sr = new System.IO.StreamReader(ns);
String req = "";
req += "GET /" + aRemoteScript + createParamString(aNameValuePairArr) + " HTTP/1.0\r\n";
req += "Host: " + mServer + "\r\n";
req += "\r\n";
sw.Write(req);
sw.Flush();
var bufout = new byte[1024];
int readlen = 0;
do
{
readlen = ns.Read(bufout, 0, bufout.Length);
ret = ret + System.Text.Encoding.UTF8.GetString(bufout, 0, readlen) + "\r\n";
}
while (readlen != 0);
}
mTcpClient.Close();
return ret;
}
private static String createParamString(NameValuePair[] nvpArr)
{
String lStr = "?";
for (int i = 0; i < nvpArr.Length; i++)
{
NameValuePair element = nvpArr[i];
lStr = lStr + element.getName() + "=" + element.getValue();
if (i < nvpArr.Length - 1)
{
lStr = lStr + "&";
}
else
{
break;
}
}
return lStr;
}
}
}
an i compiled a assembly with. (release compile, "Register for COM interop" enabled, [assembly: ComVisible(true)])
then i copied both .dll and .tlb file in a directory with FULL PERMISSION. (All for "Everyone")
then i try to use that code in an asp site:
Sub test2()
Dim test1: Set test1 = CreateObject("jan.utils.HttpClient")
End Sub
test2()
does not work - get this message:
Microsoft VBScript runtimeerror '800a0046'
Permission denied: 'CreateObject'
/Solution1/WebApplication1/Test.asp, line 20
i tried many things:
nothing does work, that's a big crap...
regards, jan