pb8使用posturl函数问题

pb8使用posturl函数问题,返回值为message的乱码,如何解决啊,愁死了,在线等,多谢了

pb

2个回答

用adosteam
http://bbs.csdn.net/topics/390821971


  integer  li_rtn  
  OLEObject  ole_ADOStream  
  ole_ADOStream  =  CREATE  OLEObject  
  li_rtn  =  ole_ADOStream.ConnectToNewObject("ADODB.Stream")  
  ole_ADOStream.Type  =  1  //二进制数据Binary  
  ole_ADOStream.Mode  =3  //具有读/写权限  
  ole_ADOStream.Open()  
  ole_ADOStream.LoadFromFile("c:\1.txt")  
  ole_ADOStream.Position  =  0  //Position为0才能设置Charset  
  ole_ADOStream.Type  =  2  //文本数据  
  ole_ADOStream.Charset  =  "UTF-8"  
  ole_ADOStream.SaveToFile("c:\2.txt",2)  
  ole_ADOStream.Close()  
  destroy  ole_ADOStream 
qq_29304185
qq_29304185 inet_base.PostURL (ls_url, ls_blob, ls_head, n_inte ) n_inte的返回值为 {"Message":"閿欒鐨勮姹傦紝蹇呴』鏄疉jax璇锋眰鎴栬€呮垜浠璇佺殑瀹㈡埛绔彂鍑虹殑璇锋眰"},如何解决?
4 年多之前 回复

如果返回的utf-8格式的,需要转换格式,可以通过adostream进行转换,以下为posturl的用法

 Blob lblb_args

 String ls_headers

 String ls_url

 String ls_args

 long ll_length

 integer li_rc



 li_rc = GetContextService( "Internet", iinet_base )

 IF li_rc = 1 THEN

    ir = CREATE n_ir

    ls_url = "http://localhost/Site/testurl.stm?"

    ls_args = "user=MyName&pwd=MyPasswd"

    lblb_args = Blob( ls_args )

    ll_length = Len( lblb_args )

    ls_header = "Content-Type: " + &

       "application/x-www-form-urlencoded~n" + &

       "Content-Length: " + String( ll_length ) + "~n~n"

    li_rc = iinet_base.PostURL( ls_url, lblb_args, &

       ls_header, ir )

 END IF
qq_29304185
qq_29304185 多谢了,已经解决了
4 年多之前 回复
lzp_lrp
WorldMobile 回复qq_29304185: 已发私信
4 年多之前 回复
lzp_lrp
WorldMobile 回复qq_29304185: 你的QQ
4 年多之前 回复
qq_29304185
qq_29304185 系统是pb8,能留下个qq吗
4 年多之前 回复
lzp_lrp
WorldMobile 回复qq_29304185: 如果以上两种方法都不行,建议你用pb10以后的版本,里面可以直接用string来进行编码转换了
4 年多之前 回复
qq_29304185
qq_29304185 inet_base.PostURL (ls_url, ls_blob, ls_head, n_inte ) ,n_inte的返回值为 {"Message":"閿欒鐨勮姹傦紝蹇呴』鏄疉jax璇锋眰鎴栬€呮垜浠璇佺殑瀹㈡埛绔彂鍑虹殑璇锋眰"}
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
访问接口错误400,postman测试postUrl可以通过
public void CreateDan(){ JSONObject jObj = new JSONObject(); jObj.put("ownerId", ownerId); jObj.put("dimDepart", dimDepart); JSONObject jObjs = new JSONObject(); jObjs.put("record",jObj);//record? System.out.println(jObjs); HttpURLConnection connection=urlCreate(jObjs); String key = null; for (int i = 1; (key = connection.getHeaderFieldKey(i)) != null; i++) { if (key.equalsIgnoreCase("Set-Cookie")) { String tempCookieVal = connection.getHeaderField(i); if (tempCookieVal.startsWith("kdservice-sessionid")) { CookieVal = tempCookieVal; break; } } } BufferedReader reader = new BufferedReader(new InputStreamReader( connection.getInputStream()));//400错误 String sResult=null; String line; boolean bResult; StringBuffer sb = new StringBuffer(""); System.out.println(" Contents of post request "); while ((line = reader.readLine()) != null) { sResult = new String(line.getBytes(), "utf-8"); System.out.println(sResult); //sb.append(line); bResult = line.contains("\"LoginResultType\":1"); } System.out.println(" Contents of post request ends "); reader.close(); connection.disconnect(); //System.out.println(sb); System.out.println(sResult); renderJson(sResult); } private HttpURLConnection urlCreate(JSONObject jObjs) throws Exception { URL postUrl = new URL(requestUrls.concat("?json="+jObjs)); System.out.println(postUrl); HttpURLConnection connection = (HttpURLConnection) postUrl .openConnection(); if (CookieVal != null) { connection.setRequestProperty("Cookie", CookieVal); } if (!connection.getDoOutput()) { connection.setDoOutput(true); } connection.setRequestMethod("POST"); connection.setUseCaches(false); connection.setInstanceFollowRedirects(true); connection.setRequestProperty("Authorization", access_token); connection.setRequestProperty("Content-Type", "application/json"); connection.connect(); DataOutputStream out = new DataOutputStream( connection.getOutputStream()); UUID uuid = UUID.randomUUID(); int hashCode = uuid.toString().hashCode(); JSONObject jObj=new JSONObject(); out.writeBytes(jObj.toString()); out.flush(); out.close(); return connection; }
关于百度收录的问题。
楼主我是新来的这家公司。 做的是新闻这一块。因为刚到没多久。 现在的情况是,百度无法收录我们公司新闻编辑发布的稿子。目前我们公司每天是发200篇新闻稿的样子。如图: ![图片说明](https://img-ask.csdn.net/upload/201505/25/1432543500_519985.png) 烦请各位大神帮忙解答解答。是什么导致的呢。 下面描述一下楼主的问题。 代码如下: #region 实时推送到百度 /// <summary> /// 实时推送到百度 /// </summary> /// <param name="sNewsUrl">相对URL地址</param> /// <param name="sIssueTime">发布时间格式:yyyy-MM-dd</param> public static void SendSiteBaiDu(List<Model.News_Issue> list) { StringBuilder sb = new StringBuilder(); string sHost = string.Format("http://{0}/", HttpContext.Current.Request.Url.Host); string sStr = string.Empty; BLL.Area_Province bllap = new BLL.Area_Province(); Model.Area_Province modelap; //sb.Append("POST /sitemap?site=xiaofei.china.com.cn&resource_name=sitemap&access_token=6kSXoZC7 HTTP/1.1 \r\n"); //sb.Append("User-Agent: curl/7.12.1 \r\n"); //sb.Append("Host: ping.baidu.com \r\n"); //sb.Append("Content-Length: 9666 \r\n"); sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"); sb.Append("<urlset>\r\n"); foreach (Model.News_Issue m in list) { modelap = bllap.GetModel(m.ProvinceId); sStr = m.ProvinceId == 9 ? sHost : sHost + modelap.JianPin + "/"; sStr = m.NewsUrl.Split(':').Length > 1 ? m.NewsUrl : sStr + m.NewsUrl; sb.Append(" <url>\r\n"); sb.Append(" <loc><![CDATA["); sb.Append(sStr); sb.Append("]]></loc>\r\n"); sb.Append(" <lastmod>"); sb.Append(m.IssueTime); sb.Append("</lastmod>\r\n"); sb.Append(" <changefreq>always</changefreq>\r\n"); sb.Append(" <priority>0.8</priority>\r\n"); sb.Append(" </url>\r\n"); } sb.Append("</urlset>\r\n"); string postUrl = "http://ping.baidu.com/sitemap?site=xiaofei.china.com.cn&resource_name=sitemap&access_token=WLDkBcFq0zlJr4QF"; HttpXmlPostRequest(postUrl, sb.ToString(), Encoding.UTF8); } /// <summary> /// 实时推送到百度 /// </summary> /// <param name="sNewsUrl">相对URL地址</param> /// <param name="sIssueTime">发布时间格式:yyyy-MM-dd</param> public static void SendSiteBaiDu(string sNewsUrl, string sIssueTime, short? ProvinceId) { StringBuilder sb = new StringBuilder(); string sHost = string.Format("http://{0}/", HttpContext.Current.Request.Url.Host); string sStr = string.Empty; BLL.Area_Province bllap = new BLL.Area_Province(); Model.Area_Province modelap = bllap.GetModel(ProvinceId); sStr = ProvinceId == 9 ? sHost : sHost + modelap.JianPin + "/"; sStr = sNewsUrl.Split(':').Length > 1 ? sNewsUrl : sStr + sNewsUrl; //sb.Append("POST /sitemap?site=xiaofei.china.com.cn&resource_name=sitemap&access_token=6kSXoZC7 HTTP/1.1 \r\n"); //sb.Append("User-Agent: curl/7.12.1 \r\n"); //sb.Append("Host: ping.baidu.com \r\n"); //sb.Append("Content-Length: 9666 \r\n"); sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"); sb.Append("<urlset>\r\n"); sb.Append(" <url>\r\n"); sb.Append(" <loc><![CDATA["); sb.Append(sStr); sb.Append("]]></loc>\r\n"); sb.Append(" <lastmod>"); sb.Append(sIssueTime); sb.Append("</lastmod>\r\n"); sb.Append(" <changefreq>always</changefreq>\r\n"); sb.Append(" <priority>0.8</priority>\r\n"); sb.Append(" </url>\r\n"); sb.Append("</urlset>\r\n"); string postUrl = "http://ping.baidu.com/sitemap?site=xiaofei.china.com.cn&resource_name=sitemap&access_token=WLDkBcFq0zlJr4QF"; HttpXmlPostRequest(postUrl, sb.ToString(), Encoding.UTF8); } /// <summary> /// HttpPost发送XML并返回响应 /// </summary> /// <param name="postUrl"></param> /// <param name="xml"></param> /// <param name="encoding"></param> /// <returns>Response响应</returns> public static void HttpXmlPostRequest(string postUrl, string postXml, Encoding encoding) { if (string.IsNullOrEmpty(postUrl)) { throw new ArgumentNullException("HttpXmlPost ArgumentNullException : postUrl IsNullOrEmpty"); } if (string.IsNullOrEmpty(postXml)) { throw new ArgumentNullException("HttpXmlPost ArgumentNullException : postXml IsNullOrEmpty"); } var request = (HttpWebRequest)WebRequest.Create(postUrl); byte[] byteArray = encoding.GetBytes(postXml); request.ContentLength = byteArray.Length; request.Method = "POST"; request.ContentType = "text/xml"; using (var requestStream = request.GetRequestStream()) { requestStream.Write(byteArray, 0, byteArray.Length); } //using (var responseStream = request.GetResponse().GetResponseStream()) //{ // return new StreamReader(responseStream, encoding).ReadToEnd(); //} //return retString; } #endregion }
Android的webview的post请求添加header
在Android的webview.posturl()请求第三方页面(页面服务端无法改变),想要在请求头中添加参数,考虑版本兼容4.4版本
无法设置属性“innerHTML”的值: 对象为 null 或未定义
``` function getdbxx(posturl, paramstr, spanid, inputid) { $.ajax({ type : "post", url : posturl, dataType : 'json', data : 'portletConfigJson=${portletConfigJson}&'+paramstr, success : function(result) { if (result) { //alert(result.num); document.getElementById(spanid).innerHTML = result.num; document.getElementById(inputid).value = result.url; } else { document.getElementById(spanid).innerHTML = "-1"; } }, error : function() { document.getElementById(spanid).innerHTML = "-2"; } }); } ``` 按照网上说法是html解析先后顺序问题。可是不论我把script放到最后执行,或者写个执行方法window.onload=function(),都不行。谁能帮忙解决下
c#腾讯企业邮箱二次开发实现新邮件提醒
新邮件提醒,需要维持长连接,图片是API文档关于长连接的描述,![图片说明](https://img-ask.csdn.net/upload/201501/13/1421134634_877439.png) 但是我获取到token,传入参数ver=0,返回错误,无效的请求,有做过这个功能的吗,求助啊!! ``` private bool GetPostData(string url, string pars, ref string json) { System.GC.Collect(); //url=请求的地址,pars= "var=0" string ret = ""; string postUrl = url; string paramData =pars; Encoding dataEncode = Encoding.UTF8; string token = this.GetToken(); HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl)); try { byte[] byteArray = dataEncode.GetBytes(paramData); //转化 //webReq.Timeout = 2 * 60 * 1000; webReq.KeepAlive = true; webReq.Host = "openapi.exmail.qq.com"; webReq.ProtocolVersion = HttpVersion.Version11; webReq.Method = "POST"; webReq.ContentType = "application/x-www-form-urlencoded"; webReq.Headers.Add("Authorization", "Bearer " + token); webReq.ContentLength = byteArray.Length; using (Stream newStream = webReq.GetRequestStream()) { newStream.Write(byteArray, 0, byteArray.Length);//写入参数 newStream.Close(); } using (HttpWebResponse response = (HttpWebResponse)webReq.GetResponse()) { using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { ret = sr.ReadToEnd(); } } } catch (Exception ex) { if (webReq != null) { webReq.Abort(); } //Log.Info("GetPostData:" + ex.Message + "," + url + "," + pars); json = ret; return false; } if (webReq != null) { webReq.Abort(); } json = ret; return true; } ```
cookiecontainer问题,折腾一天了求帮助谢谢
我把httpwebresponse.cokies添加add()到cookiecontaoner里,然后遍历出来,里面的cookie不全(还就是关键的几个cookie没在),然后我又直接遍历httpwebresponse.cokies,里面的cookie又全在,请问下这是怎么回事?? ``` /// <summary>   /// 通过get方式请求页面,传递一个实例化的cookieContainer   /// </summary>   /// <param name="postUrl"></param>   /// <param name="cookie"></param>   /// <returns></returns>   public static ArrayList GetHtmlData(string postUrl, CookieContainer cookie)   {       HttpWebRequest request;       HttpWebResponse response;       ArrayList list = new ArrayList();       request = WebRequest.Create(postUrl) as HttpWebRequest;       request.Method = "GET";       request.UserAgent = "Mozilla/4.0";       request.CookieContainer = cookie;       request.KeepAlive = true;          request.CookieContainer = cookie;       try       {           //获取服务器返回的资源           using (response = (HttpWebResponse)request.GetResponse())           {               using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default))               {                   cookie.Add(response.Cookies);                   //保存Cookies                   list.Add(cookie);                   list.Add(reader.ReadToEnd());                   list.Add(Guid.NewGuid().ToString());//图片名               }           }       }       return list; } ```
C#模拟登录中国联通获取用户通话详单
我写一个根据手机号码和服务密码自动登录中国联通官网 然后获取通话详单json的类,第一步模拟登录返回的数据没有问题 但是第二步获取通话详单的时候总是报500错误 有人知道解决方法吗? public static string GetCalldetails(string userName, string password) { string content=""; CookieContainer cookie = new CookieContainer(); string postUrl = "https://uac.10010.com/portal/Service/MallLogin?callback=jQuery17202691898950318097_1403425938090&redirectURL=http://www.10010.com&userName="+userName+"&password="+password+"&pwdType=01&productType=01&redirectType=01&rememberMe=1"; HttpWebRequest httpRequset = (HttpWebRequest)WebRequest.Create(postUrl); httpRequset.CookieContainer = cookie;//设置cookie httpRequset.Method = "GET"; httpRequset.ContentType = "text/html;charset=UTF-8"; HttpWebResponse httpresponse = (HttpWebResponse)httpRequset.GetResponse(); Stream myResponseStream = httpresponse.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); if (Convert.ToInt32(httpresponse.StatusCode) == 200) { if (retString.Contains("resultCode:\"0000\"")) { string billurl = "http://iservice.10010.com/e3/static/query/callDetail?_=1450840337718&menuid=000100030001"; string strdata = "pageNo=1&pageSize=100&beginDate=2015-12-01&endDate=2015-12-23"; byte[] byteArray = Encoding.UTF8.GetBytes(strdata); //string billurl = "http://iservice.10010.com/e3/static/check/checklogin/?_=1450857473494"; // HttpWebRequest Requset = (HttpWebRequest)WebRequest.Create(billurl); HttpWebRequest Requset = (HttpWebRequest)WebRequest.Create(billurl); Requset.Method = "POST"; Requset.CookieContainer = cookie; Requset.ContentType = "application/x-www-form-urlencoded"; Stream stream = Requset.GetRequestStream(); using (StreamWriter myStreamWriter = new StreamWriter(stream, Encoding.GetEncoding("UTF-8"))) { myStreamWriter.Write(byteArray); } HttpWebResponse response = (HttpWebResponse)Requset.GetResponse(); //if (Convert.ToInt32(response.StatusCode) == 200) //{ using (Stream responsestream = response.GetResponseStream()) { using (StreamReader sr = new StreamReader(responsestream, Encoding.GetEncoding("utf-8"))) { content = sr.ReadToEnd(); //return content; } } return content; } else { return "登录失败:" + retString + ""; } } else { int num = Convert.ToInt32(httpresponse.StatusCode); return "数据传输失败:" + num+""; } }
android获取网页源码问题
以下是我从网上找的获取网页源码的 代码 所有包都已经正常导入 但是编译后 程序一运行就崩溃 求大神指点 import 略; /** * @author Jasonzhou * @since 2013-03-21 * @功能 读取网页内容 * @说明 获取网页的全部代码后使用jsuop进行处理, 以便得到想要的内容 **/ public class MainActivity extends Activity { public String url = "http://blog.csdn.net/jasonzhou613/article/details/7905388"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); manageException();// 处理抛出异常 TextView tv = (TextView) findViewById(R.id.text); String myString = null; myString = posturl(url); // 设置屏幕显示 Log.i("---网页代码---", "" + myString); String html = myString; Document doc = Jsoup.parse(html); tv.setText(doc.title()); } /** * 获取参数指定的网页代码,将其返回给调用者,由调用者对其解析 返回String */ public String posturl(String url) { InputStream is = null; String result = ""; try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); } catch (Exception e) { return "Fail to establish http connection!" + e.toString(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "utf-8")); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result = sb.toString(); } catch (Exception e) { return "Fail to convert net stream!"; } return result; } public void manageException() { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites().detectNetwork() // or // .detectAll() // for // all // detectable // problems .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath() .build()); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
中国银行接口后台POST提交
中国银行退款接口,在后台POST提交不走页面。在请求是报错请求被中止: 未能创建 SSL/TLS 安全通道。代码如下 string Number = CreateRandomCode(30); posturl = "https://ebspay.boc.cn/PGWPortal/RefundOrder.do"; pastData = ChinaBlankConfig.merchantNo + "|" + Number + "|" + "001" + "|" + 0.01 + "|" + "20121206SHKF000004"; byte[] _bytedata = System.Text.Encoding.UTF8.GetBytes(pastData); string _strSignData = PKCS7Tool.SignatureMessage(cerPath, cerWord, _bytedata, string.Empty); string _singDate = "merchantNo=" + ChinaBlankConfig.merchantNo + "&mRefundSeq=" + Number + "&curCode=001" + "&refundAmount=" + 0.01 + "&orderNo=20121206SHKF000004" + "&signData=" + _strSignData; string str = RequestAndResponse(posturl, _singDate); //初始化请求对象 var request = WebRequest.Create(url) as HttpWebRequest; //X509证书 //X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(cerPath, "111111", X509KeyStorageFlags.MachineKeySet); //request.ClientCertificates.Add(cert); X509Certificate cert = new System.Security.Cryptography.X509Certificates.X509Certificate(cerPath, "111111"); X509Certificate cert2 = new System.Security.Cryptography.X509Certificates.X509Certificate(keyStorePath); request.ClientCertificates.Add(cert2); request.ClientCertificates.Add(cert); request.ImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; //设定验证回调(总是同意) ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = Encoding.UTF8.GetByteCount(postData); request.Timeout = 300000; request.ReadWriteTimeout = 300000; //将来数据内容写入传输数据流中,并传输 using (var requestStream = request.GetRequestStream()) { using (var streamWriter = new StreamWriter(requestStream)) { streamWriter.Write(postData); } } //初始化响应对象 var response = request.GetResponse() as HttpWebResponse; //从传输流中对象返回的数据 using (var responseStream = response.GetResponseStream()) { using (var streamReader = new StreamReader(responseStream)) { return streamReader.ReadToEnd(); } }
python模拟csdn的登录页面,可是登录失败,只是返回登陆页面的代码
#!/usr/bin/python #encoding=utf-8 import HTMLParser import urlparse import urllib import urllib2 import cookielib import string import re hosturl = 'http://my.csdn.net' posturl = 'http://passport.csdn.net/account/login?from=http%3A%2F%2Fmy.csdn.net%2Fmy%2Fmycsdn' cj = cookielib.LWPCookieJar() cookie_support = urllib2.HTTPCookieProcessor(cj) opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler) urllib2.install_opener(opener) h = urllib2.urlopen(hosturl) headers = {'User-Agent' : 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)', 'Referer' : 'http://passport.csdn.net/account/login?from=http%3A%2F%2Fmy.csdn.net%2Fmy%2Fmycsdn'} postData = { 'username':'*********', 'password':'*********', 'lt':'LT-1728924-nkb2bYmCwt30gGmFIxbF4bADYiW2bf', 'execution':'e4s1', '_eventId':'submit' } postData = urllib.urlencode(postData) request = urllib2.Request(posturl, postData, headers) print request response = urllib2.urlopen(request) text = response.read() print text
模拟登录正方教务系统重定向页面拿到的状态码为什么 总是200不是302
1. 请求代码 List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>(); pairs.add(new BasicNameValuePair("__VIEWSTATE", "dDwyODE2NTM0OTg7Oz5hS%2FqlazCCYK7Agp6rx5GFtdHxlg%3D%3D")); pairs.add(new BasicNameValuePair("txtUserName", username)); pairs.add(new BasicNameValuePair("TextBox2", pass)); pairs.add(new BasicNameValuePair("RadioButtonList1","%D1%A7%C9%FA"));//选择你是以什么身份进入%D1%A7%C9%FA pairs.add(new BasicNameValuePair("Button1", "")); pairs.add(new BasicNameValuePair("lbLanguage", "")); pairs.add(new BasicNameValuePair("hidPdrs", "")); pairs.add(new BasicNameValuePair("hidsc", "")); String info = ""; try { //该网址对应教务系统输入学号密码登入的那个界面 info = HttpUtil.postUrl("http://" + myUrl + "/default2.aspx", pairs, mHttpClient, ""); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Log.i("tag", "info===="+info); 2. 执行代码 public static String postUrl(String url, List<BasicNameValuePair> pairs, DefaultHttpClient httpClient, String setHeader) throws ClientProtocolException, IOException { HttpPost request = new HttpPost(url); request.setHeader("Referer", setHeader); httpClient.getParams().setParameter( CoreConnectionPNames.CONNECTION_TIMEOUT, 10000); // 设置请求超时时间 httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 10000); // 读取超时 HttpResponse response = httpClient.execute(request); /* * 根本没走这个if */ if(response.getStatusLine().getStatusCode() == 302||response.getStatusLine().getStatusCode() == 301){ //获取响应的cookie值 String cookie = response.getFirstHeader("Set-Cookie").getValue(); //获取头部信息中Location的值 String location = response.getFirstHeader("Location").getValue(); return location; }else if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { return EntityUtils.toString(response.getEntity()); } else { return null; } } 3. 抓包图片 ![图片说明](https://img-ask.csdn.net/upload/201605/02/1462194716_317220.png) 4. 有做过模拟登陆教务系统的大神看到这个问题能不能留个联系方式请教一下
python模拟twitter登陆
这是我的代码,不知道为什么一直无法成功 import urllib2 import urllib import cookielib import re class Fetcher(object): def __init__(self,name=None,pwd=None): self.cj = cookielib.LWPCookieJar() #获取一个保存cookie的对象。 self.cookie_processor = urllib2.HTTPCookieProcessor(self.cj) #将一个保存cookie对象,和一个HTTP的cookie的处理器绑定 self.opener = urllib2.build_opener(self.cookie_processor, urllib2.HTTPHandler) #创建一个opener,将保存了cookie的http处理器,设置一个handler用于处理http的URL的打开 urllib2.install_opener(self.opener) #将包含了cookie、http处理器、http的handler的资源和urllib2对象绑定在一起 self.name = name self.pwd = pwd self.hosturl = 'https://twitter.com/' #登录的主页面 self.posturl = 'https://twitter.com/sessions' #post数据接收和处理的页面(我们要向这个页面发送我们构造的Post数据) def login(self): #跳转到登陆界面,此时可获得cookie req=urllib2.Request(self.hosturl) resp=urllib2.urlopen(req) html = resp.read() #得到表单中的authenticity_token att=re.compile('value="(.*?)" name="authenticity_token"') t = att.search(html) authenticity_token = t.group(1) #处理cookie #cookies = '' #for index, cookie in enumerate(self.cj): # cookies = cookies+cookie.name+"="+cookie.value+";"; #cookie = cookies[:-1] #print "cookies:",cookie #request headers,仿冒浏览器 self.header = {#':host': 'twitter.com', #':method': 'POST', #':path': '/sessions', #':scheme': 'https', #':version': 'HTTP/1.1', #'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', #'accept-encoding': 'gzip,deflate,sdch', #'accept-language': 'zh-CN,zh;q=0.8', # 'cache-control': 'max-age=0', # #'content-length': '214', #'content-type': 'application/x-www-form-urlencoded', # 'cookie': cookie, #'origin': 'https://twitter.com', 'referer': 'https://twitter.com/', 'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36' } #print(self.cj) #form data,提交的表单数据 postForm = {'session[username_or_email]':self.name, 'session[password]':self.pwd, 'remember_me':'1', 'return_to_ssl':'true', 'scribe_log':'', 'redirect_after_login':'/', 'authenticity_token':authenticity_token, } postData=urllib.urlencode(postForm) #编码 #print(postData) #提交表单 rep = urllib2.Request(self.posturl,postForm,self.header) resp=urllib2.urlopen(req) html = resp.read() print(html) #req=urllib2.Request(self.hosturl) #resp=urllib2.urlopen(req) #html = resp.read() #print(html) if __name__ == '__main__': username = '*******' #用户名 password = '******' #密码 fet = Fetcher(username,password); fet.login() 大神帮忙看看吧。 我的思路和网上的思路一样的,我是个菜鸟,也没什么币,希望大家见谅了
ajax的dataType为Json对thymeleaf引擎的解析有冲突吗?
向各位大佬请教: 今天使用ajax与springboot进行交互,前端模板引擎是thymeleaf,ajax的dataType位json, controller的代码: @PostMapping("{name}/test") public @ResponseBody boolean test(@PathVariable("name") String name,HttpSession session) { System.out.println("the name posted is " + name); //model.addAttribute("job","teacher"); session.setAttribute("job","teacher"); return true; } 前端页面: $("#jichuxinxi").click(function(){ $("#blank_showz > div").css("display","none"); $("#test-my").css("display","inline"); var name ="liudehua"; var postUrl="home/" + name + "/test"; $.post(postUrl,{},function(data){ if(data == true){ alert("成功"); alert("${job}"); } if(data ==false){ alert("失败"); } }); 那么使用th:text="${job}”没有获得值,请问这是为什么?望各位大佬不吝赐教
c#微信企业号开发 自定义菜单40001
一直报40001的错误,在调试工具返回是正确的 附上代码 求助 public void CreateMenu(string posturl, string postData) { StreamWriter outstream = null; Stream instream = null; StreamReader sr = null; HttpWebResponse response = null; HttpWebRequest request = null; Encoding encoding = Encoding.UTF8; byte[] data = encoding.GetBytes(postData); request = WebRequest.Create(posturl) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; // request.ContentLength = data.Length; outstream = new StreamWriter(request.GetRequestStream()); //outstream.Write(data, 0, data.Length); outstream.Write(postData); outstream.Close(); response = request.GetResponse() as HttpWebResponse; instream = response.GetResponseStream(); sr = new StreamReader(instream, encoding); string content = sr.ReadToEnd(); System.Web.HttpContext.Current.Response.Write(content); }
由于异常的数据包格式,握手失败
使用HttpWebRequest 类Post数据,报错 基础连接已经关闭: 接收时发生错误:由于异常的数据包格式,握手失败。 pathon脚本测试url能获取数据,但是改成C#就不行了! C#代码: ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; //ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072| SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, error) => { return true; }; ServicePointManager.CheckCertificateRevocationList = false; strUserName = "admin"; strPassWord = "admin"; string getJson = string.Empty; string url = "https://10.0.18.41:8081/oauth/token"; //request url string postdata = "grant_type=password&username=" + strUserName + "&password=" + strPassWord; //body getJson = PostUrl(url, postdata); static string PostUrl(string strUrl, string strPostData) { Console.WriteLine(strPostData); string strReturnValue = string.Empty; HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(strUrl); try { httpReq.Method = "POST"; httpReq.Timeout = 100000;//设置请求超时时间,单位为毫秒 httpReq.KeepAlive = false; httpReq.ProtocolVersion = HttpVersion.Version10; httpReq.Accept = "application/json"; httpReq.ContentType = "application/x-www-form-urlencoded"; //httpReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"; if (strUserName != string.Empty || strPassWord != string.Empty) { string usernamePassword = "test:test"; httpReq.Credentials = CredentialCache.DefaultCredentials; httpReq.Headers.Add("Cache-Control", "no-cache"); httpReq.Headers.Add("X-Requested-With", "XMLHttpRequest"); httpReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(usernamePassword))); } Console.WriteLine(httpReq.Headers); byte[] bytePostData = Encoding.UTF8.GetBytes(strPostData); httpReq.ContentLength = bytePostData.Length; using (Stream reqStream = httpReq.GetRequestStream()) { reqStream.Write(bytePostData, 0, bytePostData.Length); reqStream.Close(); } HttpWebResponse httpResponse = (HttpWebResponse)httpReq.GetResponse(); Stream stream = httpResponse.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { strReturnValue = reader.ReadToEnd(); reader.Close(); } if (httpResponse != null) { httpResponse.Close(); } if (httpReq != null) { httpReq.Abort(); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return strReturnValue; } Python代码: import http.client, urllib.parse, json import base64 api_host1='10.0.18.41:8081' bearer = base64.b64encode(bytes('test:test','utf-8')) #获取用户token def getAccessToken(username, password): params = 'grant_type=password&username=' + username + '&password=' + password print(params) headers = {"Cache-Control": "no-cache", "X-Requested-With":"XMLHttpRequest" } headers["Content-Type"] = 'application/x-www-form-urlencoded' headers["Authorization"] = 'Basic ' + bearer.decode('utf-8') print(headers) url = "https://10.0.18.41:8081/oauth/token" conn = http.client.HTTPConnection(api_host1) print(url) conn.request("POST", url, params, headers) response = conn.getresponse() print(response.status, response.reason) data = response.read().decode('utf-8') print(data) r = json.loads(data) token = r['access_token'] conn.close() return token print(getAccessToken('admin','admin'))
将C#程序转化成java程序
public String postDataToUrl(String PostData, String PostUrl, String PostEncod, boolean UrlEncode, boolean ToBase64, String contentType) { Encoding RequstEncod = Encoding.GetEncoding("UTF-8"); if (PostEncod != null) { RequstEncod = Encoding.GetEncoding(PostEncod); } //URL编码 if (UrlEncode) { PostData = HttpUtility.UrlEncode(PostData); } byte[] data = RequstEncod.GetBytes(PostData); //进行64位编码 if (ToBase64) { data = RequstEncod.GetBytes(Convert.ToBase64String(data)); } ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate xc, System.Security.Cryptography.X509Certificates.X509Chain c, System.Net.Security.SslPolicyErrors se) { return true; }; //创建请求对象 HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(PostUrl); if (httpWebRequest == null) { return ""; } #region 填充httpWebRequest的基本信息 httpWebRequest.ContentType = contentType; httpWebRequest.Method = "Post"; #endregion httpWebRequest.ContentLength = data.Length; try { Stream RequestStream = httpWebRequest.GetRequestStream(); RequestStream.Write(data, 0, data.Length); RequestStream.Close(); #region 接收返回数据 Stream ResponseStream; string stringResponse = string.Empty; ResponseStream = httpWebRequest.GetResponse().GetResponseStream(); using (StreamReader sr = new StreamReader(ResponseStream, RequstEncod)) { stringResponse = sr.ReadToEnd(); } ResponseStream.Close(); return stringResponse; #endregion } catch (Exception ex) { return ex.Message; } }
404找不到方法!!!!!!!!!!!!!!!!!!!!!!
function QZJKSearch(){ var postUrl = "<%=basePath%>QZJKSearch.do"; var cDate = $("#selectedDate").val(); var levelId="${levelId}"; var werkssf = $("#selectedProvinceId").find("option:selected").val(); var werksds = $("#selectedCityId").find("option:selected").val(); var werksyyt= $("#selectedYYTId").find("option:selected").val(); var ExportForm = document.createElement("form"); document.body.appendChild(ExportForm); ExportForm.method = "POST"; var newElement1 = document.createElement("input"); newElement1.setAttribute("name", "cDate"); newElement1.setAttribute("type", "hidden"); var newElement2 = document.createElement("input"); newElement2.setAttribute("name", "levelId"); newElement2.setAttribute("type", "hidden"); var newElement3 = document.createElement("input"); newElement3.setAttribute("name", "werkssf"); newElement3.setAttribute("type", "hidden"); var newElement4 = document.createElement("input"); newElement4.setAttribute("name", "werksds"); newElement4.setAttribute("type", "hidden"); var newElement5 = document.createElement("input"); newElement5.setAttribute("name", "werksyyt"); newElement5.setAttribute("type", "hidden"); ExportForm.appendChild(newElement1); ExportForm.appendChild(newElement2); ExportForm.appendChild(newElement3); ExportForm.appendChild(newElement4); ExportForm.appendChild(newElement5); newElement1.value = cDate; newElement2.value = levelId; newElement3.value = werkssf; newElement4.value = werksds; newElement5.value = werksyyt; ExportForm.action = postUrl; // 用于回显使用,所以缓存当前的数据,判断是否有值 if(provinceLastList) { // 省份列表的数据 localStorage.setItem("selectedProvinceId", provinceLastList); localStorage.setItem("selectedProvinceIdNumber", werkssf); } if(cityLastList) { // 地市列表的数据 localStorage.setItem("selectedCityId", cityLastList); localStorage.setItem("selectedCityIdNumber", werksds); } if(storeLastList) { // 营业厅列表的数据 localStorage.setItem("selectedYYTId", storeLastList); localStorage.setItem("selectedYYTIdNumber", werksyyt); } // //省办不需要加载地市列表 // if(roleId==4){ // localStorage.setItem("selectedCityIdNumber", werksds); // //如果直辖市存下营业厅id // localStorage.setItem("selectedYYTIdNumber", werksyyt); // } //模式和全部省份的回显 localStorage.setItem("selectedProId", werkssf); // localStorage.setItem("selectedModel", model); // localStorage.setItem("zqdfl", zqdfl); ExportForm.submit(); } /////////////////////////////////// @RequestMapping(value="/QZJKSearch") public String QZJKSearch (HttpServletRequest request ,String cDate,String levelId,String werkssf,String werksds,String werksyyt){ try { if(StringUtils.isEmpty(cDate)){ cDate = ToolUtils.getBeforeTime(); }else{ if(cDate.indexOf("-")>-1){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date d = sdf.parse(cDate); sdf = new SimpleDateFormat("yyyyMMdd"); cDate = sdf.format(d); } } } 404,求大神
Extjs的ItemSelector中的toStore重新加载的问题
在使用ItemSelector的时候,根据传入的参数重新加载toStore,但是加载后的toStore数据不刷新还是第一次加载的数据。具体代码如下: [code="java"] { id : 'assignResource', text : '分配资源', icon : 'images/drop-yes.gif', cls : 'x-btn-text-icon', handler : function() { var sm = grid.getSelectionModel(); var sel = sm.getSelected(); if (sm.hasSelection()) { getResourcesToStoreJsonUrl = getResourcesToStoreJsonUrl + "&resourceList=" + sel.data.id; alert(getResourcesToStoreJsonUrl); var resourceResultsStore = new Ext.data.Store({ url : getResourcesJsonUrl, reader : new Ext.data.JsonReader({ root : 'rows', // 返回结果集 pruneModifiedRecords : true, totalProperty : 'results', // 返回总条数 id : 'returnValue' // 主键 }, [{ name : 'returnValue' }, { name : 'displayText' }]) }); var resourcesToStore = new Ext.data.Store({ url : getResourcesToStoreJsonUrl, reader : new Ext.data.JsonReader({ root : 'rows', // 返回结果集 pruneModifiedRecords : true, totalProperty : 'results', // 返回总条数 id : 'returnValue' // 主键 }, [{ name : 'returnValue' }, { name : 'displayText' }]) }); // 分配资源form var itemSelect = new Ext.ux.ItemSelector( { name : "resourcesList", fieldLabel : "资源组分配", dataFields : ["returnValue", "displayText"], fromStore : resourceResultsStore, toStore : resourcesToStore, msWidth : 250, msHeight : 200, valueField : "returnValue", displayField : "displayText", imagePath : "images/", toLegend : "已分配资源", fromLegend : "现有资源", toTBar : [{ text : "清除", handler : function() { var i = assingResourceForm.getForm() .findField("itemselector"); i.reset.call(i); } }] }); resourcesToStore.reload(); resourceResultsStore.reload(); var assingResourceForm = new Ext.form.FormPanel({ url : postUrl, xtype : 'fieldset', autoHeight : true, layout : 'form', items : [itemSelect] }); var assignRWindow = new Ext.Window({ layout : 'fit', title : '<div style="text-align:center">分配资源</div>', width : 800, height : 520, closeAction : 'hide', plain : true, maximizable : true, items : new Ext.TabPanel({ region : 'center', border : false, activeTab : 0, items : [{ title : "资源分配登记", autoScroll : true, items : [assingResourceForm] }] }), buttons : [{ text : '保存', handler : function() { // 保存修改信息 if (assingResourceForm.getForm() .isValid()) { Ext.Msg .alert( '数据提交', '新分配的资源ID为以下: <br />' + (assingResourceForm .getForm() .getValues(true))); var conn = Ext.lib.Ajax .getConnectionObject().conn; conn .open( "post", assignResourcesUrl + "&" + assingResourceForm .getForm() .getValues(true), false); conn.send(null); /* * if * ((conn.responseText).indexOf('correct') == * -1) { Ext.MessageBox.alert('提示', * '输入的验证码不正确,请重新输入!'); * authImg.focus(); return false; } */ } else { Ext.MessageBox.alert('错误', '请修正页面提示的错误后提交。'); } } }, { text : '关闭', handler : function() { assignRWindow.hide(); } }], listeners : { // 保证最大化后窗口中的滚动条不出问题 close : function(w) { w.restore(); }, maximize : function(w) { w.setPosition(document.body.scrollLeft, document.body.scrollTop); } } }); assignRWindow.setPosition(0, 3); assignRWindow.show(); } else { Ext.MessageBox.alert('提示', '请选择要为其分配资料的组!').getDialog('提示') .setPosition(300, 150); } } } [/code] 有遇到过这个问题的朋友还请指点一下。 感谢!
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
python 简易微信实现(注册登录+数据库存储+聊天+GUI+文件传输)
socket+tkinter详解+简易微信实现 历经多天的努力,查阅了许多大佬的博客后终于实现了一个简易的微信O(∩_∩)O~~ 简易数据库的实现 使用pands+CSV实现数据库框架搭建 import socket import threading from pandas import * import pymysql import csv # 创建DataFrame对象 # 存储用户数据的表(...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问