2011年11月27日日曜日

ねじをなめてしまったときの対処法

ラップトップのメモリを換装しようと裏蓋をあけるためにグリグリとやっていたらねじをなめてしまい、まったくもって回らなくなったねじとこの世をはかなんでいたのだけれど、こんな便利グッズを使ったらあっさりと回って無事メモリの換装がうまくいったので紹介しておく。


つぶれてしまったねじに対してドライバーをあてて、そのお尻のほうをハンマーでコツコツとたたき、むりくりかませるという方法でまわす。今回はハンマーを使うまでもなく、普通に力をこめながらまわしたらあっさりととれた。すごい威力だ。サイズが複数あるので購入する際は注意していただきたい。

一応上記のドライバーで上手くいかなかったときように滑り止め液も購入していたけれど、今回はまったく使用する機会がなかった。

2011年11月18日金曜日

PythonプログラムからPOSTなりPUTしてみる

PythonプログラムからデータをPOSTなりPUTしたいときのコードスニペット。

1
2
3
4
5
6
7
import urllib2
opener = urllib2.build_opener(urllib2.HTTPHandler)
content = u'data1=2&data2=日本語です&data3=hello'
request = urllib2.Request('http://somewhere/putme', data=content.encode('utf-8'))
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
request.get_method = lambda: 'PUT'  # PUTするために強引にget_methodを上書き。POSTする場合はこの処理は不要
print result.code

C#プログラムからPOSTまたはPUTしてみる

C#のプログラムからデータをPOSTなりPUTしたいときのコードスニペット。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var request = (HttpWebRequest)WebRequest.Create("http://somewhere");
var buffer = Encoding.UTF8.GetBytes("data1=hello&data2=hi&data3=234");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = buffer.Length;
request.CookieContainer = new CookieContainer();
 
var requestStream = request.GetRequestStream();
requestStream.Write(buffer, 0, buffer.Length);
requestStream.Flush();
requestStream.Close();
 
WebResponse response = null;
try
{
    response = request.GetResponse();
    var stream2 = response.GetResponseStream();
    var reader2 = new StreamReader(stream2);
    var resultText = reader2.ReadToEnd();
}
catch (Exception ex)
{
    if (response != null)
    {
        response.Close();
        response = null;
    }
}
finally
{
    request = null;
}