我需要登录到网站,我可以通过诸如url.com/ssorequest?parameters=123之类的网址执行此操作。如果这是在登录的地址中输入并被重定向到门户。以编程方式篡改http请求
现在即时通讯应该通过HTTP POST请求要做到这一点编程,但我不能让它开始工作,我重定向到一个登录表单,而不是门户网站,也就是我不得到签署。
我用提琴手找出两种方法之间的区别是什么。我发现一些幕后的获取请求是不同的。浏览器获取请求将cookie数据发送到服务器,而小提琴家发出请求后不会。
当我使用fiddler重复浏览器首先调用它不发送cookie数据。所以它只在我通过浏览器窗口进行时才起作用。除非我在小提琴手中使用断点并篡改请求以包含cookie数据。
问:为什么它的行为与浏览器的http post和请求从Fiddler完成时有所不同?
问:有没有办法在我的C#应用程序中以编程方式篡改请求而无需编写自己的Fiddler应用程序?
但是,如果我在fiddler中制作一个全新的get-request(就像从浏览器中完成的那样),它应该完全像浏览器一样处理? (在第二次获得请求中的第一个请求没有跟踪在提琴手中)。它只是一个新的请求,但它不会因为某些原因表现出相同的... – mdc
只有一个区别。当你通过浏览器创建请求时,它保持会话,而小提琴手则不会。它不知道以前的请求。为了成功使用fiddler或从您的C#代码登录,重要的是您还要发送前一个请求中的Cookie,但是您通过它获取了登录页面。 –
所以我去登录网站(我得到一个会话ID cookie)。请求下一个网址并发送Cookie。请求第三个网址并发送第二个请求中的回复?问题在于第二个url,它希望URL中的会话ID以及包含相同ID的cookie。当我在提琴手中给出这个信息时,我得到一个回应,说它是一个非法的SSL参数... – mdc