V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
only0jac
V2EX  ›  .NET

C#搞客户端的朋友们有没有这么一个困惑

  •  
  •   only0jac · 2016-10-16 23:09:09 +08:00 · 8141 次点击
    这是一个创建于 2959 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这几天没事写了个小工具提升效率,结果,东西写出来了,只能在自己电脑用

    发给朋友,首先 xp 不能用,换成 win7

    再然后,不能运行,看报错,是我有行代码调用了系统 wininet.dll 这里,用它取 cookies

    为毛用它?因为 c#自带的函数取 cookies 取的不全啊我滴哥!!!

    真是日狗了,写了好几天,性高彩烈地发给别人,结果不能用,现在还没解决

    搞 c#客户端的朋友们你们平时这样嘛?

    第 1 条附言  ·  2016-10-17 08:12:02 +08:00
    我用的是 winform ,不用支持 xp , win7 以上能用就行,所以我用的.net 4.5.2 ,我并不是用精简版系统,找别人测试也不是精简版,还有就是,主窗口是能打开的,只有点击获取 cookies 时才报错,所以知道是调用 wininet.dll 的问题

    刚才看了几位朋友的建议,说可能是 wininet.dll 版本问题,关键是它是个系统自带的库,我在生成 exe 时也不会把它打包呀
    第 2 条附言  ·  2016-10-17 13:32:09 +08:00
    我现在已经换成.net 4.0 了, xp 下正常启动,缺点是 webBrowser 不支持 Html5 ,并且还是调用不了 wininet.dll
    82 条回复    2017-05-28 23:13:56 +08:00
    em70
        1
    em70  
       2016-10-16 23:14:00 +08:00 via Android   ❤️ 2
    .net 本来就不适合做桌面应用,主战场在企业级应用

    做桌面程序最好的选择是 Delphi ,做出来的程序可以在 win 和 mac 桌面无需任何额外库直接运行
    ipwx
        2
    ipwx  
       2016-10-16 23:15:19 +08:00   ❤️ 1
    Try Qt
    em70
        3
    em70  
       2016-10-16 23:18:21 +08:00 via Android
    再补充一下, Delphi 之父和 C#之父是同一个人: Anders Hejlsberg
    pmpio
        4
    pmpio  
       2016-10-16 23:19:02 +08:00   ❤️ 2
    .net 写出来的程序,冷启动时硬盘一阵狂转。

    这么多年了,貌似很少有桌面软件用.net 来写,我就知道一个 paint.net ,性能真不敢恭维。。。
    only0jac
        5
    only0jac  
    OP
       2016-10-16 23:25:19 +08:00
    @em70 不适合?上次还在 v 站一个讨论语言的帖子里看到说 winform 是 windows 下最适合的,怎么说也是微软自己的东西, delphi 在 looooong ago 之前听说快死掉了,然后就没再接触过


    @ipwx qt for py ? for c++?主要是我这功能都写完了,还能再用不熟悉的东西再写一遍么,记得 qt 做界面似乎挺麻烦的


    @pmpio 做桌面客户端的除了 c++不都是 c#么
    Quaintjade
        6
    Quaintjade  
       2016-10-16 23:33:17 +08:00   ❤️ 1
    @pmpio
    想当年 VB6 的程序一点就开, VB.NET 要等一下窗口才出来。话说当时 Java 写个 Hello world 窗口也要启动个半天。
    pmpio
        7
    pmpio  
       2016-10-17 00:33:57 +08:00 via Android
    @Quaintjade 就是呀。按理说, VB 也算是“可管理代码”,因为它是靠解释引擎来运行的。
    zhuangzhuang1988
        8
    zhuangzhuang1988  
       2016-10-17 00:38:46 +08:00   ❤️ 3
    这个和 c#没关系啊
    你自己说了用了 wininet.dll , 肯定是你用了 win7 下才有的函数的。
    wininet.dll 也是有自己的版本的。
    软件要做系统兼容肯定也要先看下 wininet.dll 存在不存在对应函数的
    bdbai
        9
    bdbai  
       2016-10-17 00:38:47 +08:00 via Android   ❤️ 2
    @pmpio VB6 直接编译成机器码,到 .NET 才有 managed code 一说,但也不是靠解释引擎跑的。
    xbb7766
        10
    xbb7766  
       2016-10-17 00:45:58 +08:00 via Android   ❤️ 1
    要保险的话把你开发环境的 wininet.dll 一起打包过去不就可以了。
    有时候 DLL 版本不对的确会出问题的。
    lslqtz
        11
    lslqtz  
       2016-10-17 01:16:36 +08:00
    @em70 我有一个游戏的 c#源码。。
    hjc4869
        12
    hjc4869  
       2016-10-17 01:18:10 +08:00   ❤️ 1
    那个。。楼上几位嫌.net 程序冷启动慢的不会 ngen 一下吗…
    em70
        13
    em70  
       2016-10-17 01:30:42 +08:00
    @only0jac 不信,你看看你平时用的 win 软件哪个是.net 做的? win32/64 平台才是桌面的王道,这个领域有 MFC,VCL,QT 三种常见框架
    theoractice
        14
    theoractice  
       2016-10-17 01:36:16 +08:00   ❤️ 1
    感觉有可能是.net 版本问题。.net 4.0 之前的 HttpWebRequest 不会获取跨域的 cookie 。切到.net 4.0 再试试。
    theoractice
        15
    theoractice  
       2016-10-17 01:39:19 +08:00
    @em70 win10 的 uwp 用 c#开发的很多哦
    yangff
        16
    yangff  
       2016-10-17 01:49:09 +08:00   ❤️ 1
    wininet.dll windows7 没问题吧
    enenaaa
        17
    enenaaa  
       2016-10-17 01:51:11 +08:00 via Android   ❤️ 1
    这不是 c#的问题啊,系统自带的动态库版本太旧,用其他语言写的本地程序也会出问题。
    要么在编译时选用老一点的 windows sdk ,要么就多测试自带 dll 吧
    lhw45202
        18
    lhw45202  
       2016-10-17 02:03:13 +08:00   ❤️ 1
    @only0jac 不知道你是使用哪种技术做的客户端? WinForm 、 WPF 还是其它呢?如果你希望 XP 也能使用,只能选择.NET Framework 4.0 及其以下版本。看你的描述,这是动态链接库的版本问题, Windows 上常见问题,多找几台环境测试下,也有可能是某些 X 版系统本身精简的问题。
    @em70 .NET 技术栈本身很适合桌面应用啊, VS 就是使用 WPF 构建的。 Anders Hejlsberg 是 C#/TypeScript 之父,称不上 Delphi 之父,人家只是用汇编写过 pascal 编译器。。。
    abelyao
        19
    abelyao  
       2016-10-17 02:06:10 +08:00 via iPhone   ❤️ 1
    写客户端的程序就是要考虑兼容性啊… 尤其调用了非 .net 类库的时候…
    这跟写前端要考虑不同浏览器是一个道理,运行环境不同都多多少少会有一些兼容问题
    soratadori
        20
    soratadori  
       2016-10-17 02:48:36 +08:00   ❤️ 1
    有人知道 OSU ( http://osu.ppy.sh )不,是用 c#写的,代价就是挺简单的游戏,因为延迟的问题,结果对机器要求挺高的。
    mingl0280
        21
    mingl0280  
       2016-10-17 04:40:19 +08:00 via Android   ❤️ 1
    c#用 native API 拿 cookie 本来就不对,怎么还成了 c#的锅了
    mingl0280
        22
    mingl0280  
       2016-10-17 04:41:18 +08:00 via Android
    @em70 我没记错的话 qq 就是.net
    kuretru
        23
    kuretru  
       2016-10-17 07:07:15 +08:00 via iPhone   ❤️ 1
    @em70 你平时用的 ss 客户端
    xiamx
        24
    xiamx  
       2016-10-17 07:25:49 +08:00   ❤️ 1
    你自己调用 native 的 dll 的问题跟 C# 有啥关系
    only0jac
        25
    only0jac  
    OP
       2016-10-17 08:05:10 +08:00 via Android
    @zhuangzhuang1988 不是的,我只是调用获取 cookies , win7 到 10 都有这个 dll

    @xbb7766 这个没法打包吧?这个是系统的 dll


    @theoractice 我用的.net 4.5.2

    @enenaaa 选老一点 window sdk ??

    @mingl0280 我也不想用 native api , c#自带的获取 api 有时候是获取不全的,只能通过这种方式
    only0jac
        26
    only0jac  
    OP
       2016-10-17 08:09:05 +08:00 via Android
    @lhw45202 我用的是 winform ,不用支持 xp , win7 以上能用就行,所以我用的.net 4.5.2 ,我并不是用精简版系统,找别人测试也不是精简版,还有就是,主窗口是能打开的,只有点击获取 cookies 时才报错,所以知道是调用 wininet.dll 的问题
    kelvansun
        27
    kelvansun  
       2016-10-17 08:25:30 +08:00   ❤️ 1
    你写的程序 .net 库版本用得太高了,我的是用 win7 下 VS2013 基于.net framework4 开发的 winform 程序,最后用一键发布到服务器上,最后部署到 xp 用户下,一切很正常啊
    murmur
        28
    murmur  
       2016-10-17 08:26:48 +08:00
    @soratadori osu 是挺简单的游戏, 6666 为啥我四星还在挣扎
    only0jac
        29
    only0jac  
    OP
       2016-10-17 08:28:08 +08:00 via Android
    @kelvansun 一键发布到服务器???我用了 nuget 中的一个库,这库需要 4.5 版本,你 4.0 可以在 xp 下运行???
    only0jac
        30
    only0jac  
    OP
       2016-10-17 08:32:02 +08:00 via Android
    @kelvansun 对了忘记说了,我的主窗口是能打开的,只有点获取 cookies 时才报错
    kelvansun
        31
    kelvansun  
       2016-10-17 08:33:03 +08:00
    @only0jac xp 最高支持到.net 4.0 版,这个是事实,我为公司开发的系统天在在用,vs2013 有一键发布功能,这个功能是发布的 IIS 服务器的,如果客户端想安装只要打开一个网页点击安装就行了!
    kelvansun
        32
    kelvansun  
       2016-10-17 08:34:36 +08:00
    @only0jac 我开发的系统没牵扯到 cookies , 所以这点我不好说,反正纯 winform 是没有 问题的
    only0jac
        33
    only0jac  
    OP
       2016-10-17 08:36:49 +08:00 via Android
    @kelvansun 请问你在调用系统的 dll 时出现过因版本不对报错的情况吗
    kelvansun
        34
    kelvansun  
       2016-10-17 08:38:48 +08:00   ❤️ 1
    @only0jac 这个问题有可能会出现的,除非你用的开发机也是安装 xp
    only0jac
        35
    only0jac  
    OP
       2016-10-17 08:40:39 +08:00 via Android
    @kelvansun 谢谢,我的不用支持 xp ,能 win7 以上就行了,我把我本机的系统 dll 拷到目标机 system32 中试试吧
    zkd8907
        36
    zkd8907  
       2016-10-17 08:41:48 +08:00   ❤️ 1
    =。= 为什么没办法打包
    早年很多小软件打开的时候经常出现“ xxx.dll 未加载”,多并就是作者使用了某些库没有打包导致的,网上还有专门提供 dll 下载的网站,需求量还挺大的
    only0jac
        37
    only0jac  
    OP
       2016-10-17 08:43:23 +08:00 via Android
    @zkd8907 因为 wininet.dll 是系统自带的,我把这个文件放到我的 exe 运行目录了,不过好像优先调用系统的
    JayFang1993
        38
    JayFang1993  
       2016-10-17 08:45:35 +08:00   ❤️ 1
    我之前有个项目 目标平台是 Windows Server2003 真是日狗了~
    hjc4869
        39
    hjc4869  
       2016-10-17 08:49:00 +08:00 via iPhone
    @soratadori osu 我用 atom 平板都能跑 1080p 60fps 而且瓶颈根本不在 cpu 好吗,延迟只要关掉 vsync 就没有问题了……
    wuethan
        40
    wuethan  
       2016-10-17 08:50:48 +08:00   ❤️ 1
    4.5.2 ...................................... 真先进 2.0+linq 做 UI 杠杠的 做企业级没问题 关键楼主要会找 dll
    lslqtz
        41
    lslqtz  
       2016-10-17 08:56:08 +08:00
    @soratadori 我就是说 osu!的 C#源码,还有,我平板都有 30 帧。。 Z2***的 CPU 。
    @hjc4869 我只能跑 30 帧...有点卡。
    @murmur 我也在 3-4*挣扎,安利个 osu!上传 h 图的小工具给你。
    https://www.osupink.org/ss/
    https://osu.ppy.sh/ss/6342355
    missdeer
        42
    missdeer  
       2016-10-17 09:03:39 +08:00
    上面说没有用.NET 做桌面开发的,是自己孤陋寡闻吧
    微软现在自己的产品,往往都是.NET 和 Native C++混合开发的,你没看出来而已
    开源项目也有一些比较有名的用.NET 开发的,比如 Keepass
    allen9527
        43
    allen9527  
       2016-10-17 09:05:40 +08:00   ❤️ 1
    来这里问 C#问题,没结论的。
    你调用的本地特定版本的库,所以有问题喽,原生的我记得是有办法取 cookie 的。。。
    编译生成。 exe 不是打包。。。,有专门的生成安装包的方法
    yamada
        44
    yamada  
       2016-10-17 09:07:59 +08:00 via Android   ❤️ 1
    c#的 httpwebrequest 确实获取 cookie 会有缺失 ,老问题了,建议还是用 httpclient 替代,但条条框框设置的比较严格设置 http header 都要用强类型而不是字符串,而且有不能获取 content-length 的问题,反正坑很多
    hjc4869
        45
    hjc4869  
       2016-10-17 09:13:42 +08:00 via iPhone   ❤️ 1
    @lslqtz 用 bay trail 就好了, clover trail 连指令乱序发射都没有, GPU 也跟没有差不多,真不知道 intel 是怎么想的,连当时的 ARM 都不如(
    only0jac
        46
    only0jac  
    OP
       2016-10-17 09:14:54 +08:00 via Android
    @wuethan 系统的 dll ,也不用找呀


    @allen9527 原生可以取,但是取的不全


    @yamada 我是获取 webbrowser 中的 cookies
    yicong135
        47
    yicong135  
       2016-10-17 09:19:44 +08:00   ❤️ 1
    我建议你用.net 4.0 安装运行库会简单而且 xp 也可以用
    dong3580
        48
    dong3580  
       2016-10-17 09:22:17 +08:00 via Android   ❤️ 1
    @only0jac
    不要调系统自带的 dll ,就算掉也打包进去吧。 4.5 貌似对 xp 不友好,改到 4.0 。另外 44 楼的方法试试,我从来不用内置的系统级别的 api
    jeremaihloo
        49
    jeremaihloo  
       2016-10-17 09:23:16 +08:00   ❤️ 2
    .Net 自己的库你不用,非要用个什么 winnet.dll ,每个系统这东西版本不一样和.net 有什么关系,强行.net 的问题
    这个社区对.Net 本来就不友好,你还来黑一下
    这就好像你 WinXP 非要用用到 dwmapi.dll 的东西一样,肯定会出现问题的
    说没有用.Net 做桌面开发的,那只是你不了解
    至于说游戏问题的,不太了解,不太好发表意见,不过关于性能的应该都是 C++之类的,毕竟 C#确实要慢一点
    ragnaroks
        50
    ragnaroks  
       2016-10-17 09:37:15 +08:00   ❤️ 1
    直接把那个 dll 拖到你应用程序目录...
    以前 GTAV 的作弊器都是替换 GTAV 的 dll 做的
    only0jac
        51
    only0jac  
    OP
       2016-10-17 09:38:26 +08:00 via Android
    @yicong135 谢谢,回去试一下,不过我用了一个 http 库,它需要 4.5.2 ,所以我也用的这个

    @dong3580 我把系统 dll 放在运行目录也没用,我也不想用系统 api ,这不是自带的取不全 cookies 嘛

    @jeremaihloo 能用的话我能不用吗,因为获取不全呀
    only0jac
        52
    only0jac  
    OP
       2016-10-17 09:39:10 +08:00 via Android
    @ragnaroks 放在运行目录无效
    MrSong0607
        53
    MrSong0607  
       2016-10-17 09:40:33 +08:00   ❤️ 1
    我是这么取 cookie 的,没遇到过啥问题,代码给 LZ 参考下
    /// <summary>
    ///
    /// </summary>
    /// <param name="cc"></param>
    /// <returns></returns>
    public static List<Cookie> GetAllCookies(CookieContainer cc)
    {
    List<Cookie> lstCookies = new List<Cookie>();

    Hashtable table = (Hashtable)cc.GetType().InvokeMember("m_domainTable",
    System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField |
    System.Reflection.BindingFlags.Instance, null, cc, new object[] { });

    foreach (object pathList in table.Values)
    {
    SortedList lstCookieCol = (SortedList)pathList.GetType().InvokeMember("m_list",
    System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField
    | System.Reflection.BindingFlags.Instance, null, pathList, new object[] { });
    foreach (CookieCollection colCookies in lstCookieCol.Values)
    foreach (Cookie c in colCookies) lstCookies.Add(c);
    }
    return lstCookies;
    }
    chuxiwen
        54
    chuxiwen  
       2016-10-17 09:41:58 +08:00 via iPad
    XP 早就 end of life 了啊 😂
    zjddp
        55
    zjddp  
       2016-10-17 10:32:50 +08:00
    @lslqtz 话说 osu 的源码曾经泄露过吧
    ipwx
        56
    ipwx  
       2016-10-17 11:49:42 +08:00   ❤️ 1
    用微软家的开发工具,就算是 VC++,最保险的方法也还是给对方塞一个 vcredist.exe 让它把库装上再说,何况是 .net 。。。我就没见过几个程序试图把 DLL 打包进去变成绿色版的(而且效果还不一定好)。
    only0jac
        57
    only0jac  
    OP
       2016-10-17 12:12:39 +08:00
    @MrSong0607 多谢,我的需求是获取 webBrowser 中的 cookies ,根据域名取 cookies ,这个好像不太行
    lslqtz
        58
    lslqtz  
       2016-10-17 13:01:59 +08:00
    @zjddp 我手头就是那个 编译成功过
    MrSong0607
        59
    MrSong0607  
       2016-10-17 13:02:28 +08:00
    .net 框架有个 BUG ,根据域名取 cookie 的时候有些域名是取不到的,好像是他们判断域名的条件那里有问题,这个是底层的问题,要做一点小操作,然后再按域名取就可以全部取到了
    /// <summary>
    /// this is a hackfix for microsoft bug, where cookies are not shared between www.domain.com and domain.com
    /// </summary>
    /// <param name="cc"></param>
    public static void ImproveCookieContainer(ref CookieContainer cc)
    {
    Hashtable table = (Hashtable)cc.GetType().InvokeMember(
    "m_domainTable",
    System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance,
    null, cc, new object[] { });
    var comparerPreperty = table.GetType().GetField("_keycomparer",
    System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance);
    if (comparerPreperty != null)
    {
    comparerPreperty.SetValue(table, new DomainComparer());
    }
    }
    yejinmo
        60
    yejinmo  
       2016-10-17 13:07:52 +08:00
    xp 最高支持.net4.0 ,楼主 4.5.2 怎么用啊。。。

    自己以前写的爬虫一直都没问题啊。。

    string cookie = string.Empty;
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://url");
    request.CookieContainer = new CookieContainer();
    request.Referer = "http://url";
    request.Accept = "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
    request.Headers["Accept-Language"] = "zh-CN,zh;q=0.";
    request.Headers["Accept-Charset"] = "GBK,utf-8;q=0.7,*;q=0.3";
    request.UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1";
    request.KeepAlive = true;
    request.ContentType = "application/x-www-form-urlencoded";
    request.Method = "GET";
    request.AllowAutoRedirect = false;
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream myResponseStream = response.GetResponseStream();
    StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
    string retString = myStreamReader.ReadToEnd();
    cookie = response.Headers["Set-Cookie"];
    myStreamReader.Close();
    myResponseStream.Close();
    woshihuzios123
        61
    woshihuzios123  
       2016-10-17 13:29:45 +08:00
    only0jac
        62
    only0jac  
    OP
       2016-10-17 13:30:46 +08:00
    @MrSong0607 你这代码有点看不懂。。。怎么个用法?

    @yejinmo 用 HttpWebRequest 方式有些是取不到的,像 59 楼说的那样
    only0jac
        63
    only0jac  
    OP
       2016-10-17 13:31:44 +08:00
    @woshihuzios123 我现在已经换成.net 4.0 了, xp 下正常启动,缺点是 webBrowser 不支持 Html5
    qiukun
        64
    qiukun  
       2016-10-17 15:58:08 +08:00
    @hjc4869 互联网精神:迭代。
    Zeahoo
        65
    Zeahoo  
       2016-10-17 16:44:37 +08:00
    说到这个我想引出另一个话题:上学的时候,期末交大作业(也就是简单的小项目),在不同电脑上反应的结果不同,简直累死我等菜鸡了 :(
    stormpeach
        66
    stormpeach  
       2016-10-17 18:56:37 +08:00
    还兼容 XP ?你是不是还要兼容 ie6 啊?
    only0jac
        67
    only0jac  
    OP
       2016-10-17 19:06:42 +08:00
    @stormpeach 没呀,都说了 win7 以上了
    only0jac
        68
    only0jac  
    OP
       2016-10-17 19:07:37 +08:00
    @Zeahoo 这个确实蛋疼,代码写了四五天,调试环境又花了三四天:)
    cxm
        69
    cxm  
       2016-10-17 23:57:15 +08:00
    这里都能发现音游玩家 XDD
    bombless
        70
    bombless  
       2016-10-18 01:16:05 +08:00 via Android   ❤️ 1
    你在绝大多数平台做,部署都会是个难题……
    也就类似 ios uwp 这样的平台做部署能单纯点了
    omengye
        71
    omengye  
       2016-10-18 08:03:23 +08:00 via Android   ❤️ 1
    可以试试 CefSharp ,嵌了 chromium 肯定可以支持 html5 ,需要注意的是版本不能高于 49 ,貌似从 chromium 50 开始就不支持 xp 了
    only0jac
        72
    only0jac  
    OP
       2016-10-18 08:38:23 +08:00 via Android
    @omengye 想用来着,当时看文档没看到他是如何获取 cookie ,就没用它
    zysuper
        73
    zysuper  
       2016-10-18 09:13:39 +08:00   ❤️ 1
    deiphi 活的好好的,什么时候死掉了?最新版都支持 win10 , win phone , mac , ios 呢。
    https://www.embarcadero.com/products/delphi
    only0jac
        74
    only0jac  
    OP
       2016-10-18 09:29:17 +08:00 via Android
    感觉玩 delphi 的很少,出问题查资料不太好查
    omengye
        75
    omengye  
       2016-10-18 10:23:43 +08:00 via Android   ❤️ 1
    @only0jac 获取 cookie 是从 chromium 里调的,我之前没有用到 cookie ,所以具体操作不是很清楚,不过刚看了一个 issue https://github.com/cefsharp/CefSharp/issues/826 你可以试一试
    only0jac
        76
    only0jac  
    OP
       2016-10-18 11:27:23 +08:00 via Android
    @omengye 感谢!
    zjddp
        77
    zjddp  
       2016-10-20 10:41:53 +08:00
    @lslqtz 去年刚工作的时候就想在 mac 下重写 osu ,按照 wiki 的资料能读谱面数据了,但是绘图这块以前没接触过,完全没有头绪,后来小伙伴发我 osu 的源码,没有 vs 环境就放一边了。
    mingl0280
        78
    mingl0280  
       2016-11-14 23:51:58 +08:00   ❤️ 1
    @mingl0280 是这样的, C#拿 Cookie 必须用 HttpWebRequest/HttpWebResponse
    拿下来的是 Header 里面的 Set-Cookie String
    你自己做个给请求填充 Cookie 的就行

    以前做过一个 vb.net 的 http 模拟在这
    https://github.com/mingl0280/evelogger/blob/master/WebLogger.EVE.Ver1/Module1.vb
    GetWebResponse 和 SetCookieHeaders
    only0jac
        79
    only0jac  
    OP
       2016-11-15 12:52:11 +08:00 via Android
    @mingl0280 多谢,你的意思是,虽然不能直接拿 httponly 的 cookie ,但是可以在他写入值的时候取到是吧?顺便求问个.net 有什么好的防破解方式,多谢
    mingl0280
        80
    mingl0280  
       2016-11-15 18:43:05 +08:00 via Android   ❤️ 1
    @only0jac 对。
    防破解的方面不太清楚……只知道有代码混淆(然而没啥太大意义)
    only0jac
        81
    only0jac  
    OP
       2016-11-16 08:51:17 +08:00 via Android
    @mingl0280 多谢啦
    anyele
        82
    anyele  
       2017-05-28 23:13:56 +08:00
    @em70 #1 你是真懂还是装懂啊, .net 都不适合做桌面应用? 那还有什么适合做桌面应用的? Delphi 是哪个年代的东西了, 你说的企业级应用是什么? 要说跨平台.net 早就能跨平台了, 还有 2 个给你点赞的, 真可怕
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2656 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 10:18 · PVG 18:18 · LAX 02:18 · JFK 05:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.