起点提供Google App Engine下载,Google App Engine是一种简化创建、运行和构建伸缩性Web应用的工具,Google App Engine允许你本地使用Google基础设施构建Web应用,待其完工之后再将其部署到Google基础设施之上。
Google App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。
【提供的服务】
Google App Engine 提供了多种服务,从而使您可以在管理应用程序的同时执行常规操作。提供了以下 API 以访问这些服务:
1、网址获取
应用程序可以使用 App Engine 的网址获取服务访问互联网上的资源,例如网络服务或其他数据。网址获取服务使用用于为许多其他 Google 产品检索网页的高速 Google 基础架构来检索网络资源。有关网址获取服务的详细信息,请参阅网址获取 API 参考。
2、邮件
应用程序可以使用 App Engine 的邮件服务发送电子邮件。邮件服务使用 Google 基础架构发送电子邮件。有关邮件服务的详细信息,请参阅邮件 API 参考。
3、Memcache
Memcache 服务为您的应用程序提供了高性能的内存键值缓存,您可通过应用程序的多个实例访问该缓存。Memcache 对于那些不需要数据库的永久性功能和事务功能的数据很有用,例如临时数据或从数据库复制到缓存以进行高速访问的数据。有关 Memcache 服务的详细信息,请参阅 Memcache API 参考。
4、图片操作
图片服务使您的应用程序可以对图片进行操作。使用该 API,您可以对 JPEG 和 PNG 格式的图片进行大小调整、剪切、旋转和翻转。有关图片操作服务的详细信息,请参阅图片 API 参考。
【 使用说明】
Google App Engine也就是GAE,是Google推出的一款网络运用程序,也是个免费虚拟主机空间,其实这比一般虚拟主机强悍的多,你可以利用Google App Engine工具来开发网站或制作网络应用程序,Google会在自己的庞大服务器集群上为你提供空间、带宽、资源等。
Google App Engine对全球开发者免费开放使用,你可以充分利用Google的提供的免费空间、免费数据库、免费二级域名等来展示你开发的应用程序,提供给全球的用户下载和使用。
只要你有一个Google账号就可以在Google App Engine上注册和开通一个免费账号,免费账号允许你创建25个应用[1] ,每一个应用提供1GB的容量,月流量是60GB(传出带宽是1GB/天,传入带宽1GB/天)。
【 使用教程】
一. 申请google gmail邮箱
进入如下链接到google账号注册页面进行注册。 https://accounts.google.com/SignUp
二. 两步验证
1. 进入账户中心,
https://www.google.com/settings/account
2. 点击左侧安全性,然后设置两步验证。
3. 点击上面的设置,然后点击开始设置,进入如下页面(+86 手机号)
4. 填入下面页面:
5. 成功之后查看https://www.google.com/settings/security
两步验证已经启动。
三. 创建app engine应用
进入下面页面 http://appengine.google.com/ 提示登录的话用刚申请的账号登录
2. 由于上面已经设置了两部验证,增强了账户安全性,所有点击 “create application”的时候可能会要求输入验证码。
按照提示验证通过之后,会出现下面的界面。
3. 创建成功之后,回到https://appengine.google.com/,将会看到刚才创建的应用。
4. 重复上面步骤,每个gmail邮箱账号最多能创建10个应用,每个应用的名字不能相同,title用来给应用做备注(我感觉是这样)。
四. 下载gae2
1. 下载的地方很多,这里应该最官方:https://github.com/goagent/goagent 点击zip下载压缩包。
不过貌似上面的地址有时候登陆不上,新浪爱问上也有:http://ishare.iask.sina.com.cn/f/34439630.html
2. 下载之后解压到任意文件夹(还是那个原则:洋人的东西最好不要放到中文目录或者带空格的目录下面)。
五. 配置gae2
1. https://accounts.google.com/IssuedAuthSubTokens?hide_authsub=1 用自己gmail账号进入网址,生成一个密码。
2. 复制生成的密码,生成的密码样式如下:
3. 打开你的gae程序目录,用右键管理员权限运行goagent\local下的goagent.exe程序,之后放着不要动,
再运行goagent\server下的uploader.bat文件,提示你输入appid(例如:wahaha)申请对应的Email和密码(密码就是上面的一长串数字,生成密码的时候应用名称随便写,生成的密码用一次就不需要,不需要记);
4. 把上面的一长串密码粘贴到这,粘贴密码去人之后,就开始了。完成后会有提示。
5. 打开https://appengine.google.com/ 查看的刚才输入的appID(wahaha)所在的应用是否在运行状态,如果没有改变,再试一次。
6. 打开goagent\local下的proxy.ini文件,把appid 写到 appid后面,配置信息如下图:
7. 重新打开 goagent\local下的goagent.exe程序,效果如下图:
8. 到这代理就设置成功了。
六. 浏览器代理
如果您使用chrome浏览器,请安装:Switchy Sharp插件
如果您使用firefox浏览器,请安装:Autoproxy插件
插件代理配置不在赘述, 代理地址就是 127.0.0.1,端口号8087
浏览器代理成功之后,就可以那啥了,外面的世界很精彩!
七. 在java中使用gae代理。
下面代码中用到了 jsoup的jar包,请自行引入。
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
/**
* @author yokoboy
* @date 2013-5-12
*/
public class GaeProxy {
// 方法二使用Proxy来对每个连接实现代理, 这种方法只能在jdk 1.5以上的版本使用(包含jdk1.5), 优点是可以单独的设置每个连接的代理, 缺点是设置比较麻烦:
public static void proxy2() {
try {
URL url = new URL("http://www.baidu.com");
// 创建代理服务器
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", 8087);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理
// 如果我们知道代理server的名字, 可以直接使用
URLConnection conn = url.openConnection(proxy);
InputStream in = conn.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
for (String line; (line = br.readLine()) != null;) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 方法一使用系统属性来完成代理设置, 这种方法比较简单, 但是不能对单独的连接来设置代理:
public static void proxy1() {
Properties prop = System.getProperties();
// 设置http访问要使用的代理服务器的地址
prop.setProperty("http.proxyHost", "127.0.0.1");
// 设置http访问要使用的代理服务器的端口
prop.setProperty("http.proxyPort", "8087");
// // 设置不需要通过代理服务器访问的主机,可以使用*通配符,多个地址用|分隔
// prop.setProperty("http.nonProxyHosts", "localhost|192.168.0.*");
// // 设置安全访问使用的代理服务器地址与端口
// // 它没有https.nonProxyHosts属性,它按照http.nonProxyHosts 中设置的规则访问
// prop.setProperty("https.proxyHost", "127.0.0.1");
// prop.setProperty("https.proxyPort", "8087");
// // 使用ftp代理服务器的主机、端口以及不需要使用ftp代理服务器的主机
// prop.setProperty("ftp.proxyHost", "127.0.0.1");
// prop.setProperty("ftp.proxyPort", "8087");
// prop.setProperty("ftp.nonProxyHosts", "localhost|192.168.0.*");
// // socks代理服务器的地址与端口
// prop.setProperty("socksProxyHost", "127.0.0.1");
// prop.setProperty("socksProxyPort", "8087");
// 设置登陆到代理服务器的用户名和密码
// Authenticator.setDefault(new MyAuthenticator("userName", "Password"));
}
static class MyAuthenticator extends Authenticator {
private String user = "";
private String password = "";
public MyAuthenticator(String user, String password) {
this.user = user;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password.toCharArray());
}
}
public static void main(String[] asd) throws IOException {
// proxy1();
proxy2();
Document document = Jsoup.connect("http://www.baidu.com").get();
System.out.println(document.html());
}
}
运行之后查看gae窗口,有流量经过,说明代理成功。