澳门正规赌博十大网站-澳门游戏网站
做最好的网站

linux下为php添加curl扩展的方法,Shell中curl和wget使

前言

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。

步骤如下:

linux下为php添加curl扩展的方法,Shell中curl和wget使用代理IP的方法教程。大家都知道,在Linux Shell中提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget,本文将给大家详细介绍关于在Linux Shell中curl和wget使用代理IP的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看吧。

语法: #linux下为php添加curl扩展的方法,Shell中curl和wget使用代理IP的方法教程。 curl [option] [url]

  1. 进到对应扩展目录

curl 和 wget 使用代理

常见参数:

# cd /usr/local/src/php-5.2.12/ext/curl

  • curl 支持 http、https、socks4、socks5
  • wget 支持 http、https
-A/--user-agent <string>       设置用户代理发送给服务器
-b/--cookie <name=string/file>  cookie字符串或文件读取位置
-c/--cookie-jar <file>          操作结束后把cookie写入到这个文件中
-C/--continue-at <offset>      断点续转
-D/--dump-header <file>       把header信息写入到该文件中
-e/--referer                 来源网址
-f/--fail                     连接失败时不显示http错误
-o/--output                 把输出写到该文件中
-O/--remote-name           把输出写到该文件中,保留远程文件的文件名
-r/--range <range>           检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent                  静音模式。不输出任何东西
-T/--upload-file <file>         上传文件
-u/--user <user[:password]>   设置服务器的用户和密码
-w/--write-out [format]        什么输出完成后
-x/--proxy <host[:port]>       在给定的端口上使用HTTP代理
-#/--progress-bar            进度条显示当前的传送状态
  1. 调用phpize程序生成编译配置文件

代理示例:

linux下为php添加curl扩展的方法,Shell中curl和wget使用代理IP的方法教程。例子:

# /usr/local/php5/bin/phpize

#!/bin/bash
#
# curl 支持 http、https、socks4、socks5
# wget 支持 http、https
#
# 米扑代理示例:
# http://proxy.mimvp.com/demo2.php
#
# 米扑代理购买:
# http://proxy.mimvp.com
#
# mimvp.com
# 2015-11-09


# http代理格式   http_proxy=http://IP:Port
# https代理格式   https_proxy=http://IP:Port

{'http': 'http://120.77.176.179:8888'}
curl -m 30 --retry 3 -x http://120.77.176.179:8888 http://proxy.mimvp.com/exist.php     # http_proxy
wget -T 30 --tries 3 -e "http_proxy=http://120.77.176.179:8888" http://proxy.mimvp.com/exist.php   # http_proxy

{'https': 'http://46.105.214.133:3128'}
curl -m 30 --retry 3 --proxy-insecure -x http://46.105.214.133:3128 -k https://proxy.mimvp.com/exist.php     # https_proxy
wget -T 30 --tries 3 --no-check-certificate -e "https_proxy=http://46.105.214.133:3128" https://proxy.mimvp.com/exist.php # https_proxy


# curl 支持socks
{'socks4': '101.255.17.145:1080'}
curl -m 30 --retry 3 --socks4 101.255.17.145:1080 http://proxy.mimvp.com/exist.php

{'socks5': '82.164.233.227:45454'}
curl -m 30 --retry 3 --socks5 82.164.233.227:45454 http://proxy.mimvp.com/exist.php


# wget 不支持socks

1、基本用法

  1. 调用configure生成Makefile文件,然后调用make编译,make install安装

wget 配置文件设置代理

# curl http://www.linux.com

# ./configure -with-curl=/usr/local/curl -with-php-config=/usr/local/php5/bin/php-config# make# make install

vim ~/.wgetrc

http_proxy=http://120.77.176.179:8888:8080
https_proxy=http://12.7.17.17:8888:8080
use_proxy = on
wait = 30

wget -T 30 --tries 3 http://proxy.mimvp.com

执行后,www.linux.com 的html就会显示在屏幕上了

  1. 修改php配置文件

Shell 设置临时局部代理

Ps:由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站

;修改扩展库目录extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/";添加curl扩展extension = curl.so

# proxy no auth
export http_proxy=http://120.77.176.179:8888:8080
export https_proxy=http://12.7.17.17:8888:8080

# proxy auth
export http_proxy=http://username:password@120.77.176.179:8888:8080
export https_proxy=http://username:password@12.7.17.17:8888:8080


# 取消设置
unset http_proxy
unset https_proxy

2、保存访问的网页

  1. 重启Apache即可。

Shell 设置系统全局代理

2.1:使用linux的重定向功能保存

您可能感兴趣的文章:

  • Linux Shell中curl和wget使用代理IP的方法教程
  • Linux下命令行cURL的10种常见用法示例
  • Linux下模拟http的get/post请求(curl or wget)详解
  • Linux中curl命令和wget命令的使用介绍与比较
  • Linux中的curl命令详解
  • Linux Shell Curl网站健康状态检查脚本,抓出中国博客联盟失联站点
  • Linux 中 CURL常用命令详解
  • linux curl命令详解及实例分享
  • linux命令行下使用curl命令查看自己机器的外网ip
  • Linux curl命令详解
# 修改 /etc/profile,保存并重启服务器
sudo vim /etc/profile  # 所有人有效
或
sudo vim ~/.bashrc  # 所有人有效
或
vim ~/.bash_profile  # 个人有效


# proxy no auth
export http_proxy=http://120.77.176.179:8888:8080
export https_proxy=http://12.7.17.17:8888:8080

# proxy auth
export http_proxy=http://username:password@120.77.176.179:8888:8080
export https_proxy=http://username:password@12.7.17.17:8888:8080

source /etc/profile
或
source ~/.bashrc
或
source ~/.bash_profile


sudo reboot
# curl http://www.linux.com >> linux.html

米扑代理示例

2.2:可以使用curl的内置option:-o(小写)保存网页

米扑代理示例,包含Python、Java、PHP、C#、Go、Perl、Ruby、Shell、NodeJS、PhantomJS、Groovy、Delphi、易语言等十多种编程语言或脚本,通过大量的可运行实例,详细讲解了使用代理IP的正确方法,方便网页爬取、数据采集、自动化测试等领域。

$ curl -o linux.html http://www.linux.com

图片 1

执行完成后会显示如下界面,显示100%则表示保存成功

米扑代理示例,测试使用的代理IP,全部来自于米扑代理,其覆盖120多个国家,中国34个省市,支持http、https、socks4、socks5等

% Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
100 79684 0 79684 0 0 3437k 0 --:--:-- --:--:-- --:--:-- 7781k

米扑代理示例官网 :

2.3:可以使用curl的内置option:-O(大写)保存网页中的文件
要注意这里后面的url要具体到某个文件,不然抓不下来

总结

# curl -O http://www.linux.com/hello.sh

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

3、测试网页返回值

您可能感兴趣的文章:

  • Linux下命令行cURL的10种常见用法示例
  • Linux下模拟http的get/post请求(curl or wget)详解
  • Linux中curl命令和wget命令的使用介绍与比较
  • Linux中的curl命令详解
  • Linux Shell Curl网站健康状态检查脚本,抓出中国博客联盟失联站点
  • Linux 中 CURL常用命令详解
  • linux curl命令详解及实例分享
  • linux命令行下使用curl命令查看自己机器的外网ip
  • linux下为php添加curl扩展的方法
  • Linux curl命令详解
# curl -o /dev/null -s -w %{http_code} www.linux.com

Ps:在脚本中,这是很常见的测试网站是否正常的用法

4、指定proxy服务器以及其端口

很多时候上网需要用到代理服务器(比如是使用代理服务器上网或者因为使用curl别人网站而被别人屏蔽IP地址的时候),幸运的是curl通过使用内置option:-x来支持设置代理

# curl -x 192.168.100.100:1080 http://www.linux.com

5、cookie

有些网站是使用cookie来记录session信息。对于chrome这样的浏览器,可以轻易处理cookie信息,但在curl中只要增加相关参数也是可以很容易的处理cookie

5.1:保存http的response里面的cookie信息。内置option:-c(小写)

# curl -c cookiec.txt http://www.linux.com

执行后cookie信息就被存到了cookiec.txt里面了

本文由澳门正规赌博十大网站发布于澳门游戏网站,转载请注明出处:linux下为php添加curl扩展的方法,Shell中curl和wget使

相关阅读