首页
关于
Search
1
Fastadmin 美化后台样式
311,277 阅读
2
关于破解移动宽带光猫 型号: GS3101 超级管理员密码
27,099 阅读
3
Wallpaper完美壁纸修复天气bug(无需申请API)
20,891 阅读
4
给Thinkphp3用上composer
20,135 阅读
5
PECL无法安装时手动编译安装PHP扩展
19,811 阅读
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
登录
Search
标签搜索
php
git
Windows
wkhtmltopdf
短信
defense
API
Google Photos
python
wkhtmltoimage
网页快照
linux
ssr
https
mail
sms
小程序
封装
ComoBox
拼多多
Guooo
有钱终成眷属,没钱亲眼目睹
累计撰写
126
篇文章
累计收到
93
条评论
首页
栏目
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
页面
关于
搜索到
126
篇与
的结果
2018-02-25
Centos7 配置rsyslog客户端接收远程日志
因为路由器我设定每天重启,但是日志一重启就会清除,并且路由器最多只能保存1024条记录,所以我想把路由器的日志记录到一台服务器上,发现路由器包含远程日志功能于是我就在我的centos7服务器配置了下rsyslog,把日志记录到这里编辑服务端的/etc/rsyslog.conf文件注意下中文注释地方# rsyslog configuration file # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### # The imjournal module bellow is now used as a message source instead of imuxsock. $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal #$ModLoad imklog # reads kernel messages (the same are read from journald) #$ModLoad immark # provides --MARK-- message capability # Provides UDP syslog reception $ModLoad imudp # 引用udp协议的模块 $UDPServerRun 514 # 设置udp协议使用端口 # Provides TCP syslog reception $ModLoad imtcp # 引用tcp协议的模块 $InputTCPServerRun 514 # 设置tcp协议使用端口 #### GLOBAL DIRECTIVES #### # Where to place auxiliary files $WorkDirectory /var/lib/rsyslog # Use default timestamp format $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $template Remote,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%fromhost-ip%.log" # 设置远程日志存放路径和文件格式 :fromhost-ip, !isequal, "127.0.0.1" ?Remote # 如果是本机日志则不记录 # File syncing capability is disabled by default. This feature is usually not required, # not useful and an extreme performance hit #$ActionFileEnableSync on # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf # Turn off message reception via local log socket; # local messages are retrieved through imjournal now. $OmitLocalLogging on # File to store the position in the journal $IMJournalStateFile imjournal.state #### RULES #### # Log all kernel messages to the console. # Logging much else clutters up the screen. # 关于内核的所有日志都放到/dev/console(控制台) #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! # 记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间任务相关的信息除外 *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. # authpriv验证相关的所有信息存放在/var/log/secure authpriv.* /var/log/secure # Log all the mail messages in one place. # 邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大 mail.* -/var/log/maillog # Log cron stuff # 计划任务有关的信息存放在/var/log/cron cron.* /var/log/cron # Everybody gets emergency messages # 启动的相关信息 *.emerg :omusrmsg:* # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log # ### begin forwarding rule ### # The statement between the begin ... end define a SINGLE forwarding # rule. They belong together, do NOT split them. If you create multiple # forwarding rules, duplicate the whole block! # Remote Logging (we use TCP for reliable delivery) # # An on-disk queue is created for this action. If the remote host is # down, messages are spooled to disk and sent when it is up again. #$ActionQueueFileName fwdRule1 # unique name prefix for spool files #$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) #$ActionQueueSaveOnShutdown on # save messages to disk on shutdown #$ActionQueueType LinkedList # run asynchronously #$ActionResumeRetryCount -1 # infinite retries if host is down # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional #*.* @@remote-host:514 # ### end of the forwarding rule ###然后重启rsyslogsystemctl restart rsyslog客户端直接填写ip,端口默认是514,就完成了
2018年02月25日
6,038 阅读
0 评论
0 点赞
2018-02-07
Git提示The file will have its original line endings in your working directory.
执行 git add提示的时候常常会提示The file will have its original line endings in your working directory.网上很多人都有这种情况,却都忽略。因为它确实没有必要,只是Linux平台下的换行符是 LF,而Windows下则是 CRLF,所以当你再 Windows 保存文件时候,换行符会被保存为LF不过看起来有一大串警告很不舒服就这么解决吧在git命令行里使用这一句,禁止自动转换换行符git config --global core.autocrlf false
2018年02月07日
3,471 阅读
1 评论
0 点赞
2018-02-06
IntelliJ IDEA系列的License server激活
使用如下激活码(不定期更新),或点击这里获取8SBCSPUIJ2-eyJsaWNlbnNlSWQiOiI4U0JDU1BVSUoyIiwibGljZW5zZWVOYW1lIjoi5rC45LmF5Zyw5Z2AIHd3d8K3YWppaHVvwrdjb20iLCJsaWNlbnNlZVR5cGUiOiJQRVJTT05BTCIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IkdPIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAyNS0wMS0wMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNVIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSU0MiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRTIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSRCIsInBhaWRVcFRvIjoiMjAyNS0wMS0wMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUUEiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSU0YiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUk0iLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRCIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAyNS0wMS0wMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUFMiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJSIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSU1YiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlBTSSIsInBhaWRVcFRvIjoiMjAyNS0wMS0wMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQQ1dNUCIsInBhaWRVcFRvIjoiMjAyNS0wMS0wMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJBSUwiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJTIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IkRQIiwicGFpZFVwVG8iOiIyMDI1LTAxLTAxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBEQiIsInBhaWRVcFRvIjoiMjAyNS0wMS0wMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQUlIiLCJwYWlkVXBUbyI6IjIwMjUtMDEtMDEiLCJleHRlbmRlZCI6dHJ1ZX1dLCJtZXRhZGF0YSI6IjAyMjAyNDEyMDJQUEFNMDAwMDA1QSIsImhhc2giOiI2MzY2NjQ4Mi8wOjgyNjkyNTkyMCIsImdyYWNlUGVyaW9kRGF5cyI6NywiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJ0cmlhbCI6ZmFsc2UsImFpQWxsb3dlZCI6dHJ1ZX0=-J3JlQn0dSiJlYJGVjcR+51qZNBSh2uj87Z9Gcf73Ss2qcYk5Kzn+p5nef63fpnz9bPbQ+yM+V+Wu4525O1LuejUZiK6uH3lu4tsBl7jEAHeKDLfrUedCZlNa8dmky5DtJq12Dff1Ghd8RfJLOnF8Tu3uPuOFRKRWZyjduaLDRtmPHRJ2P4rnKKEW9OeMr1EeAVs/2/2t+v/lTLI0ysmaAYDyqz2KdJKR5OhNBBDbCaDnXsxoTWJgxyerlnliGBJvqHGXY6j6VhUjHyUjx4ev8jIxWgDJ5GTWlXalkPf97LZeywXY+e51uNIYQeChNtxRQXe7SemffxSc6IRIi+irtg==-MIIETDCCAjSgAwIBAgIBETANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTI0MDkyMDEyMTEyN1oXDTI2MDkyMjEyMTEyN1owHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyNDA5MjAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7SH/XcUoMwkDi8JJPzXWWHWFdOZdrP2Dqkz2W8iUi650cwz2vdPEd0tMzosLAj7ifkFEHUyiuEcL//q9d9Op7ZsV23lpPXX8tFMLFwugoQ9D8jDLT/XP9pp/YukWkKF5jpNbaCvsVQkDdYkArBkYvhH3aN4v9BkEsXahfgLLOPe4IG2FDJNf9R4to9V1vt+m2UVJB0zV4a/sVMKUZLgqKmKKKOKoLrE3OjBlZlb+Q0z2N5dsW0hDEVRFGmBUAbHN/mp44MMMvEIFKfoLIGpgic92P2O6uFh75PI7mcultL6yuR48ajErx8CjjQEGOSnoq/8hD+yVE+6GW2gJa2CPvAgMBAAGjgZkwgZYwCQYDVR0TBAIwADAdBgNVHQ4EFgQUb5NERj05GyNerQ/Mjm9XH8HXtLIwSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMCBaAwDQYJKoZIhvcNAQELBQADggIBALq6VfVUjmPI3N/w0RYoPGFYUieCfRO0zVvD1VYHDWsN3F9buVsdudhxEsUb8t7qZPkDKTOB6DB+apgt2ZdKwok8S0pwifwLfjHAhO3b+LUQaz/VmKQW8gTOS5kTVcpM0BY7UPF8cRBqxMsdUfm5ejYk93lBRPBAqntznDY+DNc9aXOldFiACyutB1/AIh7ikUYPbpEIPZirPdAahroVvfp2tr4BHgCrk9z0dVi0tk8AHE5t7Vk4OOaQRJzy3lST4Vv6Mc0+0z8lNa+Sc3SVL8CrRtnTAs7YpD4fpI5AFDtchNrgFalX+BZ9GLu4FDsshVI4neqV5Jd5zwWPnwRuKLxsCO/PB6wiBKzdapQBG+P9z74dQ0junol+tqxd7vUV/MFsR3VwVMTndyapIS+fMoe+ZR5g+y44R8C7fXyVE/geg+JXQKvRwS0C5UpnS5FcGk+61b0e4U7pwO20RlwhEFHLSaP61p2TaVGo/TQtT/fWmrtV+HegAv9P3X3Se+xIVtJzQsk8QrB/w52IB3FKiAKl/KRn1egbMIs4uoNAkqNZ9Ih2P1NpiQnONFmkiAgeynJ+0FPykKdJQbV3Mx44jkaHIif4aFReTsYX1WUBNu/QerZRjn4FVSHRaZPSR5Oi82Wz0Nj7IY9ocTpLnXFrqkb/Kt3S6B9s2Kol3Lr1ElYA已失效理论上可以激活IDEA系列的所有软件,包含但不限于PHPStorm,Pycharm等打开jetbrains系列软件,在软件注册时选择License Server本来是填写http://idea.xxxx.cn就可以了,但是现在IntelliJ禁止代理了,没想到什么好办法,现在只能先填http://idea.xxxxx.cn:4332 了自建激活服务器首先下载底部的程序包,根据你自己的服务器选择相应的程序。以64位Ubuntu为例:我选择的是IntelliJIDEALicenseServer_linux_amd64,上传到服务器并进入目录chmod +x IntelliJIDEALicenseServer_linux_amd64nohup ./IntelliJIDEALicenseServer_linux_amd64 -p 4321 > idea.log 2>&1 &解释一下第二条语句nohup和最后一个&:是为了让命令一直在后台运行./IntelliJIDEALicenseServer_linux_amd64 运行激活程序 -p 4321 指定监听端口为4321,你也可以改成其他端口> idea.log 2>&1 把程序运行日志记录到 idea.log 中到最后,就可以通过http://你的ip:监听的端口激活程序了如果是windows系统,直接双击对应版本的.exe文件打开就可以激活了其他系统也大致相同下载地址放在OneDrive Business上了,打不开给我留言IntelliJIDEALicenseServer下载地址
2018年02月06日
2,254 阅读
1 评论
0 点赞
2018-01-24
Google照片批量下载所有相册/通讯录/Chrome/Youtube数据
修复Google相册元数据请看这里手机刷机 突然照片就没了 于是想把之前备份在 Google相册 的照片全部导出来从Google相册下载但是打开之后发现照片只能一张张勾选,不能批量下载整个相册。就很痛苦,总不能真的让我一个个勾选吧。后来发现 Google有个存档的功能 ,可以下载所有Google相关的信息数据,其中就包含Google相册的照片信息。然后就只选需要的就行了只选择相册存档接下来需要选归档方式,因为需要打包成压缩包下载,所以一般是选择压缩包格式和每个压缩包大小,以及保存方式等待完成然后等一会 处理完成之后,就会根据你的选择的保存方式,下载或者转存都可以了Google存档管理地址https://takeout.google.com/settings/takeout不过,我的照片又从手机里找出来了。
2018年01月24日
5,044 阅读
2 评论
0 点赞
2018-01-12
Win 10 无法彻底关闭Hyper-V
一次手贱打开了Win10的Hyper-V,之后打开所有模拟器就蓝屏,打开VMware也是有问题然后就想去关闭在控制面板-程序-启用或关闭Windows功能里关闭了Hyper-V之后还是没有用,问题依旧。感觉像是没有彻底关闭一样。于是网上搜了下解决办法,发现Windows 10 下如何彻底关闭 Hyper-V 服务? - 张林军的回答 - 知乎这个方法试过有用。流程如下:以管理员身份运行命令提示符执行命令 bcdedit /set hypervisorlaunchtype off 重启,运行vm即可如果想要恢复hyper启动, bcdedit / set hypervisorlaunchtype auto
2018年01月12日
3,540 阅读
0 评论
0 点赞
2018-01-11
C#和Excel
头一次知道Excl在一个企业/个人的报表管理里面这么重要以前做东西,公司要求导出成 txt 或者 csv 格式就可以了,他们说导出成Excl需要电脑安装Office,而且速度很慢,比较麻烦,不推荐。当时由于赶进度,我信了,后来在网上搜了一下才发现,谬误源于流言。很多人说Excl操作速度很慢,但其实只是指用官方库的一种方法,常用的Excl操作方法有三种。这里借鉴一下1. OleDb: 这种方式是把整个Excel文件当做一个数据源来进行数据的读取操作。 优点:实现方式简单,读取速度快; 缺点:读取Excel数据的过程不太灵活,对内存的占用比较高,当数据量变的很大时,容易由于内存空间不足导致内存溢出异常。(不过貌似对于今天电脑的硬件配置来说,内存问题不大) 2. Com组件 这种方式是通过Com组件 Microsoft.Office.Interop.Excel.dll实现Excel文件的操作。 优点:读取Excel数据非常灵活,可以实现Excel具有的各种数据处理功能; 缺点:对数据的访问时基于单元格方式实现的,所以读写数据较慢,特别是当数据量较大时,访问效率问题更为突出。另一点是要求本机安装了Microsoft Office组件。 3. NPOI 这种方式是通过NPOI库实现Excel文件操作,可以在没有安装微软Office的情况下使用。 优点:读取Excel数据速度较快,操作方式灵活; 缺点:试了再说!其中oleDb我没有用过,不评价。大家常说的操作速度慢,指的是使用官方的 COM组件。优点并在我看来并不是很重要,缺点很明显:慢!需要安装Office、CPU和内存占用也比较高(解析时I5CPU占用20%左右)。我只是简单地读取20多行数据,就大概耗费了10s左右。排除是第一次初始化耗时的原因,读取第二次耗时大约5s,也就是每秒4、5条左右此时整个程序内存占用100M左右当时我就傻了,这要是 10W 条数据,不就凉凉了?赶紧。。怎么办,多线程,写算法,数据优化?噼里啪啦写了个双线程读取,速度提了一倍,然后。。。emmm,哈!开心,10W条数据只需要一个多小时就可以读完啦!!!食屎咩你此路不通,换个解决办法。网上搜了一下,发现了NPOI这个第三方库,不需要安装Office我先跑去NPOI官网下载了他家的压缩包v2.2.1版本,里面分 .Net 2.0和.Net 4.0 各有5个dll文件,我也没管那么多,全部引用到项目里。一顿操作后。。。看了眼结果丢雷楼谋速度翻了30多倍!!还是单线程然后我又试了下第二次读取...第三次...果然是第三方酷所以我就说,为什么我当初在网上找了很久都没有找到微软COM的dll现在老板给的任务超额完成了把速度一天翻两倍假装自己在忙着优化就可以多轻松几天了也不用写多线程了所以我现在为什么还要找微软的dll?呸
2018年01月11日
1,703 阅读
0 评论
0 点赞
2018-01-09
C#的网络编程
获取指定Url的所有Cookie(包含HttpOnly的) /// <summary> /// WinInet.dll wrapper /// 获取所有的Cookie(包括HttpOnly) /// </summary> internal static class CookieReader { private const int INTERNET_COOKIE_HTTPONLY = 0x00002000; [DllImport("wininet.dll", SetLastError = true)] private static extern bool InternetGetCookieEx( string url, string cookieName, StringBuilder cookieData, ref int size, int flags, IntPtr pReserved); public static string GetCookie(string url) { int size = 512; StringBuilder sb = new StringBuilder(size); if (!InternetGetCookieEx(url, null, sb, ref size, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero)) { if (size < 0) { return null; } sb = new StringBuilder(size); if (!InternetGetCookieEx(url, null, sb, ref size, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero)) { return null; } } return sb.ToString(); } }发送Get请求发送Get请求(不带Cookie) /// <summary> /// 通过GET方式发送数据(不带Cookie) /// </summary> /// <param name="Url">url</param> public string SendDataByGET(string Url) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url/* + (postDataStr == "" ? "" : "?") + postDataStr*/); string retString = ""; try { request.Method = "GET"; //request.ContentType = "text/html;charset=UTF-8"; request.ContentType = "application/x-www-form-urlencoded"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); } catch (Exception) { MessageBox.Show("网络请求异常!"); } return retString; }发送Get请求(带Cookie) /// <summary> /// 通过GET方式发送数据(带Cookie) /// </summary> /// <param name="Url">url</param> /// <param name="postDataStr">GET数据</param> /// <param name="cookie">Cookie容器</param> /// <returns>返回的内容</returns> public string SendDataByGET(string Url,/* string postDataStr, */ref CookieContainer cookie) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url/* + (postDataStr == "" ? "" : "?") + postDataStr*/); try { if (cookie.Count == 0) { request.CookieContainer = new CookieContainer(); cookie = request.CookieContainer; } else { request.CookieContainer = cookie; } } catch (Exception ex) { MessageBox.Show("请先获取Cookie!"); MessageBox.Show(ex.Message); return ""; } string retString = ""; try { request.Method = "GET"; //request.ContentType = "text/html;charset=UTF-8"; request.ContentType = "application/x-www-form-urlencoded"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); } catch (Exception) { MessageBox.Show("网络请求异常!"); } return retString; } 通过Post方式发送请求通过Post方式发送请求(不带Cookie) /// <summary> /// 通过Post方式发送数据 /// </summary> /// <param name="Url">url</param> /// <param name="PostData">Post数据,如string.Format("userid={0}&password={1}", "guest", "123456")</param> /// <param name="UTF8">是否使用UTF8编码</param> /// <returns>返回的内容</returns> public string SendDataByPost(string Url, string PostData, bool UTF8 = false) { byte[] data; if (UTF8) { data = Encoding.UTF8.GetBytes(PostData); } else { data = Encoding.Default.GetBytes(PostData); } HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; //request.KeepAlive = true; request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"; request.ContentLength = data.Length; Stream newStream = request.GetRequestStream(); // Send the data. newStream.Write(data, 0, data.Length); newStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); return retString; }通过Post方式发送请求(带Cookie) /// <summary> /// 通过Post方式发送数据(带Cookie) /// </summary> /// <param name="Url">url</param> /// <param name="PostData">Post数据,如string.Format("userid={0}&password={1}", "guest", "123456")</param> /// <param name="cookie">Cookie容器</param> /// <returns>返回的内容</returns> public string SendDataByPost(string Url, string PostData, ref CookieContainer cookie) { byte[] data = Encoding.Default.GetBytes(PostData); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); if (cookie.Count == 0) { request.CookieContainer = new CookieContainer(); cookie = request.CookieContainer; } else { request.CookieContainer = cookie; } string retString = ""; try { request.Method = "POST"; //request.KeepAlive = true; request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"; request.ContentLength = data.Length; Stream newStream = request.GetRequestStream(); // Send the data. newStream.Write(data, 0, data.Length); newStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); } catch (Exception) { MessageBox.Show("网络请求异常!"); } return retString; }
2018年01月09日
2,005 阅读
0 评论
0 点赞
2018-01-01
新年快乐
暂无简介
2018年01月01日
2,242 阅读
1 评论
0 点赞
1
...
5
6
7
...
16