2009年4月17日星期五
使用VB.NET编写了一个定时登录Dr.COM Hotspot上网验证系统的Windows服务
从组件菜单中选择Timer组件,注意默认的Timer组件是System.Windows.Forms.Timer,并不能在服务中使用,要使用System.Timer.Timer组件,可以在工具箱的组件面板上点击右键,出现下面的菜单,选择红色框子圈出的项,从对话框中将需要的组件添加到面板
将正确的Timer组件拖到类的设计面板,设置合适的interval,并将Timer设置为Enable。双击Timer组件,添加代码如下(加粗部分)
Imports System.Text
Imports System.Net
Imports System.Timers
Public Class AutoLogonService
Protected Overrides Sub OnStart(ByVal args() As String)
' 请在此处添加代码以启动您的服务。此方法应完成设置工作,
' 以使您的服务开始工作。
End Sub
Protected Overrides Sub OnStop()
' 在此处添加代码以执行任何必要的拆解操作,从而停止您的服务。
End Sub
Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
Dim MyClient As New WebClient
Dim MyURL As String
Dim data As String
Dim postData As Byte()
MyURL = "http://10.29.0.250/F.htm"
data = "DDDDD=你的用户名&upass=你的密码&0MKKey=登录 Login"
postData = Encoding.ASCII.GetBytes(data)
MyClient.UploadData(MyURL, "POST", postData)
End Sub
End Class
右击设计视图选择“添加安装程序”,为该服务添加安装程序,并设置项目、安装程序的名称和相关属性。最后生成Service。
Service的安装
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil c:\Dr.COM.LogonService.exe
Service的卸载
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil c:\Dr.COM.LogonService.exe /u
将服务安装后,可以在管理工具|服务中去启动他,这样,即使机器重启或者长时间没数据流量,也能保证不断网,使得某些需要定时联网的程序正常工作
参考资料
VB.NET实现Dr.COM自动登录
Imports System.Text
Imports System.Net
Module Module1
Sub Main()
Dim MyClient As New WebClient
Dim MyURL, srcString As String
Dim data As String
Dim postData As Byte()
Dim responseData As Byte()
MyURL = "http://10.29.0.250/F.htm"
data = "DDDDD=你的用户名&upass=你的密码&0MKKey=登录 Login"
postData = Encoding.ASCII.GetBytes(data)
responseData = MyClient.UploadData(MyURL, "POST", postData)
srcString = Encoding.UTF8.GetString(responseData)
'Console.WriteLine(srcString)
'Console.ReadKey()
End Sub
End Module
2009年4月13日星期一
无题
127.0.0.1 activate.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 ereg.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 wip3.adobe.com
127.0.0.1 3dns-3.adobe.com
127.0.0.1 3dns-2.adobe.com
127.0.0.1 adobe-dns.adobe.com
127.0.0.1 adobe-dns-2.adobe.com
127.0.0.1 adobe-dns-3.adobe.com
127.0.0.1 ereg.wip3.adobe.com
127.0.0.1 activate-sea.adobe.com
127.0.0.1 wwis-dubc1-vip60.adobe.com
127.0.0.1 activate-sjc0.adobe.com
[原创]通过Java程序实现Dr.COM Hotspot的上网验证
package drcom;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class Login {
String userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; MAXTHON 2.0)";
HttpClient client = new HttpClient();
static final String TARGET_SITE = "10.29.0.250";
static final int TARGET_PORT = 80;
public static void main(String[] args) throws HttpException, IOException {
Login l=new Login();
PostMethod method=new PostMethod("http://10.29.0.250/F.htm");
l.initMethod(method);
l.fillLogonData(method);
method.setRequestHeader("Referer","http://10.29.0.250/");
l.client.executeMethod(method);
String s=l.getResponse(method);
System.out.println(s);
}
public Login() {
client.getHostConfiguration().setHost(TARGET_SITE, TARGET_PORT);
}
public void initMethod(HttpMethod method) {
method.setRequestHeader("User-Agent", userAgent);
method.setRequestHeader("Accept-Encoding", "gzip, deflate");
method.setRequestHeader("Accept-Language", "zh-cn");
method.setRequestHeader("Accept", "*/*");
method.setRequestHeader("Connection", "Keep-Alive");
method.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
}
public String getResponse(HttpMethod method) throws IOException {
InputStream is = method.getResponseBodyAsStream();
StringBuffer buf = new StringBuffer();
byte b[] = new byte[16384];
int len = 0;
while ((len = is.read(b)) > 0) {
buf.append(new String(b, 0, len, "gb2312"));
}
String response = buf.toString();
return response;
}
public void fillLogonData(PostMethod method) {
NameValuePair[] data = new NameValuePair[3];
data[0] = new NameValuePair("DDDDD", "username");
data[1] = new NameValuePair("upass", "password");
data[2]=new NameValuePair("0MKKey","登录 Login");
method.addParameters(data);
}
}
2009年4月8日星期三
XP远程桌面登录问题的解决方案
新安装的系统,Windows XP,远程桌面有问题,表现为本地桌面或者远程桌面只能有一个用户登录,如果一方登录了,另一方同时登录,则会造成黑屏或者主机无响应。
解决方案:
将下面的内容保存为reg文件并导入到注册表,重新启动系统即可。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"SessionImageSize"=dword:00000020
2009年4月2日星期四
Failed shutdown of Apache Portable Runtime
新安装的机器,在MyEclipse中停止Tomcat服务器时出现如下信息
[org.apache.catalina.core.AprLifecycleListener]-[INFO] Failed shutdown of Apache Portable Runtime
解决方法:
(1)安装Tomcat时预先安装native1.dll 或者
(2)去 http://tomcat.heanet.ie/native/ 下载编译好的 tcnative-1.dll 文件,放到Tomcat的bin目录下