我在C#中使用网页相对较新.我想要做的是登录一个特定的网站(https://www15.swalife.com/PortalWeb/portal/cwaLogon.jsp)并允许将页面重定向到默认页面,然后从那里导航到( https://www15.swalife.com/csswa/ea/plt/accessELITT.do)并下载源代码并将其输出到字符串.
我已经想出了如何通过HTTPWebRequest和HTTPWebResponse下载源代码,但是在编写日志记录函数方面遇到了麻烦.我想我将不得不用POST做点什么?我也查看了http://www.dreamincode.net/forums/topic/152297-c%23-log-in-to-website-programmatically/.
jimmyjambles提供的代码完美无瑕,除了它没有完全得到我想要的页面的源代码.该代码表明登录过程失败了,但我相信稍微调整一下我可以让它工作......也适用于所有遇到问题的人:
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(AcceptAllCertifications);
Run Code Online (Sandbox Code Playgroud)
尝试将"public string"和"public bool"函数分别更改为"public static string"和"public static bool":)
响应HTML:
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<HTML>\n<HEAD>\n\n\n\n\n\n\n<META http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n<META name=\"GENERATOR\" content=\"IBM WebSphere Studio\">\n<TITLE>endSession.jsp</TITLE>\n<LINK rel=\"stylesheet\" href=\"eipPortletStyles/swalife.css\" type=\"text/css\">\n\t<script type=\"text/javascript\" language=\"JavaScript\" \n\t\tsrc=\"eipCommonJavaScript/eipGeneralFunctions.js\"/> </script>\n\t\t\n<script type=\"text/javascript\">\n\n\tfunction refreshParent()\n\t{\n\t if(window.parent)\n\t {\n\t if(window.parent.name == 'appMainFrame')\n\t window.parent.location = \"/csswa/ea/plt/logout.do\";\n\t // alert('Your session has expired. Please login again. ');\n\t }\n\t}\n\n</script>\n</HEAD>\n<BODY onload=\"refreshParent();\">\n \n\t \t<div class=\"eipErrors\">\n \t\t\t<div class=\"legendLabel\">Message</div>\n \t\t\t\n \t\t\t <div class=\"errorsHeader formTitle\">You Have Exited Out of Crew …Run Code Online (Sandbox Code Playgroud) 我有一个状态机,其中包含以下相关状态:
States:
'Analyze Report':
Type: Task
Resource: 'arn:aws:states:::lambda:invoke'
Parameters:
FunctionName: '(redacted)'
OutputPath: '$.Payload'
Next: 'Setup Email'
'Setup Email':
Type: Pass
Result:
recipients: '$.accounts'
subject: 'some email subject'
body: 'some email body'
ResultPath: '$'
Next: 'Send Email'
'Send Email':
Type: Task
Resource: 'arn:aws:states:::lambda:invoke'
Parameters:
FunctionName: '(redacted)'
OutputPath: '$.Payload'
Next: '(some downstream task)'
Run Code Online (Sandbox Code Playgroud)
与该步骤关联的 lambda 函数的输出Analyze Report具有以下形式:
{
"accounts": ["foo", "bar", "baz"],
"error_message": null,
"success": true
}
Run Code Online (Sandbox Code Playgroud)
与步骤关联的 lambda 函数Send Email需要以下形式的输入:
{
"recipients": ["foo", "bar", "baz"],
"subject": "some …Run Code Online (Sandbox Code Playgroud) 这个问题属于ANSI C.我认为它应该是一个简单的答案......所以这些方法中哪一个最快?它与我目前的项目没有任何关系,但有一天我想到了,我没有立即在网上看到答案......