我想以编程方式下载网页的内容,但该页面是作为POST的结果生成的,我似乎无法使其正常工作.
这是页面:http://jp.translink.com.au/mobile/Input.aspx
您可以输入以下值以查看其工作原理:
从:Coorparoo火车站
至:中央火车站
我用tcpdump监控流量,并尽可能使用代码重新创建它.这是测试代码:
http = Net::HTTP.new("jp.translink.com.au", 80)
path = "/mobile/Input.aspx"
# GET request -> so the host can set his cookies
resp, data = http.get(path, nil)
cookie = resp.response['set-cookie']
viewstate = data.match(/"__VIEWSTATE" value="([^"]+)"/)[1]
# POST request -> logging in
data = "__VIEWSTATE=#{viewstate}&FromTextBox=mitchelton+railway+station&FromModeList=stopLandmark&ToTextBox=morayfield+railway+station&ToModeList=stopLandmark&VehicleList%3A1=on&HourList=11&MinuteList=40&NoonList=PM&DateList=0&goButton=Go%21"
headers = {
'Cookie' => cookie,
'Referer' => 'http://jp.translink.com.au/mobile/Input.aspx',
'origin' => 'http://jp.translink.com.au',
'Content-Type' => 'application/x-www-form-urlencoded',
'User-Agent' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2 Safari/530.19', …Run Code Online (Sandbox Code Playgroud) 我正在使用SetWindowsHookEx()来创建键盘钩子.创建似乎是成功的,但注册的过程永远不会被调用.有什么我做错了吗?
#region Windows API Functions Declarations
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
private static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId);
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
private static extern bool UnhookWindowsHookEx(int idHook);
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
private static extern int CallNextHookEx(int idHook, int nCode, IntPtr wParam, IntPtr lParam);
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr GetModuleHandle(string lpModuleName);
#endregion
Run Code Online (Sandbox Code Playgroud)
=
private void CreateHook()
{
int id_hook = (int)HookType.WH_KEYBOARD_LL; …Run Code Online (Sandbox Code Playgroud) 如何使用nsarray对日期进行排序?我有四个日期,应该按升序显示.你能解释如何排序吗?我搜索了很多东西,但我无法找到任何东西.请帮助我,是否有任何日期排序的方法.
我可以使用什么控件使"纹理窗口"看起来像大多数OS X应用程序的选项卡式视图类型?像这样:

到目前为止我只有这个:
